ios - Swift - 从模态视图访问 UIImagePickerController

标签 ios swift uiview uiviewcontroller uiimagepickercontroller

有没有办法从模态视图中呈现 UIImagePickerController

在我的例子中,我有一个名为 MakeWishViewclass,它是一个 UIView,如果用户点击,他应该能够选择一个图像在 MakeWishView 内的一个 button 上。我现在的问题是我无法调用 present,因为 MakeWishView 不是 ViewController,而是 UIView

我想这样称呼:

@objc private func wishImageButtonTapped(){
    showImagePickerController()
    print("wishImageButtonTapped")
}

// image picker
extension MakeWishView: UIImagePickerControllerDelegate, UINavigationControllerDelegate {

    @objc func showImagePickerController(){
        let imagePickerController = UIImagePickerController()
        imagePickerController.delegate = self
        present(imagePickerController, animated: true, completion: nil) // -> error
    }
}

最佳答案

向呈现的 vc 添加委托(delegate)

 class MakeWishView:UIView {
    weak var delegate:VCName?

 let root = (UIApplication.shared.delegate as! AppDelegate).window!.rootViewController
 root.present(imagePickerController, animated: true, completion: nil)  

关于ios - Swift - 从模态视图访问 UIImagePickerController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59724557/

相关文章:

swift - 如何在 Xcode 9.4 中使 Optionals Hashable

swift - 协议(protocol)实现与继承

swift - 表达式解析为未使用的函数并使用未解析的标识符 'dispatch' 错误

iphone - UIScrollView 将触摸发送到 subview

html - DIV 以桌面浏览器为中心,而不是 iPhone - 为什么?

ios - Transition 不适用于嵌套在 List 中的 ForEach 以及来自 Core Data 的数据

ios - iPhone4/4S 对比其他媒体查询

ios - 如何以编程方式在 UITableView 上添加 UIView

iOS Flip UIView 无阴影

ios - 变量不会填充 plist 数据,Swift