我试图在普通的UIViewController中将UIImagePickerController呈现为子视图 .
我面临的问题是我无法隐藏内部导航栏(带有“Chwile” Headers 和“Anuluj”按钮) . 它看起来像这样:
我尝试使用自定义控制器对UIImagePickerController进行子类化 . 我还尝试设置NavigationBar属性的样式并获得以下结果:
但是,我想完全删除导航栏 . 我试图在自定义图像选择器控制器的 ViewWillAppear
, ViewDidLoad
和 ViewDidAppear
中调用 SetNavigationBarHidden(true, true);
和 NavigationController.SetNavigationBarHidden(true, true);
但没有结果 .
你知道怎么完全删除导航栏吗? swift或obj-c中的解决方案对我来说也是完美的 .
private void PresentImagePicker(UIImagePickerControllerSourceType type)
{
imagePicker = new CustomImagePickerController
{
SourceType = type,
AllowsEditing = false,
};
imagePicker.FinishedPickingMedia += OnImagePickerFinishedPickingMedia;
imagePicker.Canceled += OnImagePickerCancelled;
AddChildViewController(imagePicker);
ContentView.AddSubview(imagePicker.View);
imagePicker.View.Frame = Content.Bounds;
imagePicker.View.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
imagePicker.DidMoveToParentViewController(this);
}
2 回答
您可以简单地使用presentViewController,而不是将子视图添加到父视图和管理框架:
因此,您需要删除以下这些行,并将它们替换为上面的一行:
它会工作正常