UIImagePickerController是否必须在导航控制器中嵌入视图控制器?

问题描述

UIImagePickerController委托是否必须是嵌入在导航控制器中的视图控制器?只是问一下,因为我希望用户能够从中选择照片的视图控制器不在其中,因此我手动输入了带有条形按钮项目的导航栏。必须将这些按钮的代码重新链接并重新粘贴到新的按钮中,这会很烦人,并且稍微担心我可能需要使用segue和其他方法更改代码。如果我只是给UIImagePickerController的委托一个UINavigationControllerDelegate放在顶部,那行得通,还是必须将视图控制器嵌入到导航控制器中?

解决方法

否,不必将其嵌入UINavigationController中。您可以仅使UIViewController子类符合协议UIImagePickerControllerDelegateUINavigationControllerDelegate,它就可以正常工作。

class ViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate {

    @objc func showImagePicker() {
        let picker = UIImagePickerController()
        picker.delegate = self
        // do other stuff...
        present(picker,animated: true)
    }
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...