我正在展示一张UIImagePickerController
拍照,问题是如果我拍照或取消UIImagePickerController
我会在白色屏幕上返回,而不是我之前的ViewController
。只有我的navigation bar
还在这里。如果我点击另一个view
(使用导航栏),这没关系,如果我返回的标签UIImagePickerController
被称为它仍然是白色的。出现UIImagePickerController后的白色屏幕
let picker = UIImagePickerController();
picker.delegate = self;
picker.mediaTypes = [swiftString];
picker.allowsEditing = true
picker.sourceType = UIImagePickerControllerSourceType.camera;
picker.cameraCaptureMode = .photo
self.present(picker, animated:true, completion:nil);
解雇:
picker.dismiss(animated: true, completion:nil);
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
picker.dismiss(animated: true, completion:nil);
}
如果有人有一个想法,感谢的!
更新:当我打电话与present method
视图
白色屏幕始终显示。所以我认为这是一个与导航控制器冲突(层次...)
这解决我的问题:
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else {return}
appDelegate.navigationController.present(picker, animated: true, completion: nil)
如果有人有其他替代解决吧!
你怎么解雇'UIImagePickerController'? – Poles
@Poles当然,编辑后显示它 – Makaille
你确定你的类是图像选择器所需的UINavigationControllerDelegate的子类吗? – pbush25