【问题标题】:Setting delegate for UIImagePicker returns error为 UIImagePicker 设置委托返回错误
【发布时间】:2015-05-16 02:20:42
【问题描述】:

我为 OCR 翻译应用程序编写的一些快速代码存在问题。 代码sn-p如下:

@IBAction func btnOCR(sender: AnyObject) {

    var languageAlert = UIAlertController(title: "For Your Information...", message: "The OCR feature currently only supports English & French.", preferredStyle: .Alert)
    languageAlert.addAction(UIAlertAction(title: "Okay", style: .Default, handler: { action in

        var image = UIImagePickerController()
        image.sourceType = UIImagePickerControllerSourceType.Camera
        image.allowsEditing = false
        image.delegate = self
        presentViewController(image, animated: true, completion: nil)

    }))
    self.presentViewController(languageAlert, animated: true, completion: nil)
}

image.delegate = self 这一行返回错误:Cannot assign a value of viewcontroller to uiimagepickerdelegate。

我已经在类定义中设置了委托,如下图...

class ViewController: UIViewController, UITextFieldDelegate, UIPickerViewDelegate, UIPickerViewDataSource, UIImagePickerControllerDelegate {    }

我们将不胜感激,提前致谢。

【问题讨论】:

    标签: ios swift delegates uiimagepickercontroller


    【解决方案1】:

    您在 ViewController 类定义中忘记了 UINavigationControllerDelegate。

    图像选择器的委托对象。

    声明

    unowned(unsafe) var delegate: protocol<UIImagePickerControllerDelegate, UINavigationControllerDelegate>?
    

    【讨论】:

    • 多么愚蠢的错误!哈哈我不会再忘记了。非常感谢您的帮助!
    • 非常感谢>我不知道我也需要 UINAVIGATIONCONTROLLERDELEGATE
    • IOS 新手。如果我可以问。在 UI 控制器中,即使定义中提到了 UINavigationControllerDelegate。但是没有任何具体的实现,只有声明 UINavigationControllerDelegate 真的有用吗?编译器如何在不实现与 UINavigationControllerDelegate 相关的任何内容的情况下进行考虑。我对IOS swift完全陌生。如果有人能解释一下,将不胜感激
    【解决方案2】:

    您必须将 UINavigationControllerDelegate 添加到类声明中。

    class ViewController: UIViewController, UITextFieldDelegate, UIPickerViewDelegate, UIPickerViewDataSource, UIImagePickerControllerDelegate, UINavigationControllerDelegate {    
    
    
     // Some thing here
    
    }
    

    【讨论】:

    • 感谢您在 swift 中提供示例。
    猜你喜欢
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2011-05-19
    • 2016-07-01
    • 2013-07-09
    • 1970-01-01
    相关资源
    最近更新 更多