Ios 从modal ViewController演示UIImagePickerController
在我的故事板中有这样一部分: 所以我想要UserProfileController的礼物:UIViewController“МlППМфцц”,这是模态(位于图像顶部)UIImageViewController 我的代码:Ios 从modal ViewController演示UIImagePickerController,ios,swift,uiimagepickercontroller,modalviewcontroller,Ios,Swift,Uiimagepickercontroller,Modalviewcontroller,在我的故事板中有这样一部分: 所以我想要UserProfileController的礼物:UIViewController“МlППМфцц”,这是模态(位于图像顶部)UIImageViewController 我的代码: extension UserProfileController: UIImagePickerControllerDelegate, UINavigationControllerDelegate { @IBAction func imagePressed(_ send
extension UserProfileController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBAction func imagePressed(_ sender: Any) {
let imagePickerController = UIImagePickerController()
imagePickerController.delegate = self
self.present(imagePickerController, animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
guard let image = info[UIImagePickerControllerOriginalImage] as? UIImage else {
return
}
picker.dismiss(animated: true, completion: nil)
userProfileImageView.image = image
}
}
好的,出现了imagePickerController,但在我选择了image之后,我已经取消了这两个控制器(imagePickerController和parent-UserProfileController)
我做错了什么?谢谢
问题可能是我把“SideMenunigationController”显示为模态?(侧菜单框架文档中建议这样做)尝试在类中创建UIImagePickerController引用(作为变量)
是否可以尝试将@IBAction放在扩展之外?已经这样做了,IBAction与声明类主体中的imagePicker:didFinish方法相同
// to choose an image from the Camera Roll
fileprivate lazy var imagePicker: UIImagePickerController = {
let picker: UIImagePickerController = UIImagePickerController()
picker.allowsEditing = false
picker.sourceType = .savedPhotosAlbum
picker.delegate = self
return picker
}()