ios - 无法在 IOS swift UIImagePickerController 中使用 "used photo"

标签 ios iphone swift xcode8

我是 Swift 新手... 事实上,我对任何苹果产品都是新手。所以基本上我正在尝试学习如何 build 和飞行飞机,同时尝试飞行并学习如何驾驶它。当此免责声明发布时,我需要一些帮助;)

我的问题是,在我用相机拍摄一张图像后,我无法让 UIImagePickerController 返回一张图像。我认为我缺少一些基本的东西,或者至少缺少一些使其发挥作用的重要东西;) 但我一生都无法弄清楚我哪里做错了。

我认为这是我的 ViewController 的相关部分,但是请询问您是否觉得我遗漏了一些重要的内容:

 @IBAction func shootPhoto(_ sender: UIButton) {
    if UIImagePickerController.isSourceTypeAvailable(.camera) {

        picker.allowsEditing = false
        picker.sourceType = UIImagePickerControllerSourceType.camera
        picker.cameraCaptureMode = .photo
        picker.modalPresentationStyle = .fullScreen

        present(picker,animated: true,completion: nil)

    }
    else
    {
        noCamera()
    }
}



    private func imagePickerController(_ picker: UIImagePickerController,
                                   didFinishPickingMediaWithInfo info: [String : AnyObject]) {

    let image: UIImage = info[UIImagePickerControllerOriginalImage] as! UIImage;
    myImageView.contentMode = .scaleToFill

    myImageView.image = image
    self.dismiss(animated:true, completion: nil)

}

我必须承认我不知道我使用的是哪个版本的 swift。我假设是最新的,因为我刚刚更新了 MacBook Pro,直到它无法再执行任何操作。我正在使用 Xcode 8.2.1,并且正在使用 IOS 10.2.1 的 iPhone 上进行测试,我认为它是 iPhone 7s。

感谢任何帮助

编辑: 我在这个函数中进行设置,如果这是错误的位置,我会将其移动,但我只是不知道移动到哪里。 ?

    override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view
    picker.delegate = self
}

我知道这可能与另一个问题重复,但是当我单击该问题时,他们正在处理照片库。

我正在尝试处理相机,但在将图像返回到 imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) 时遇到问题...

他们谈论的内容似乎对我不起作用,而且他们正在使用我被告知已贬值的东西。

编辑2:

这就是我初始化选择器对象以及定义类的方式

class ViewController: UIViewController,UINavigationControllerDelegate,UIImagePickerControllerDelegate {
    let picker = UIImagePickerController()


    @IBOutlet weak var myImageView: UIImageView!

最佳答案

private func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {

        if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
                myImageView.image = image
         } else if let image = info[UIImagePickerControllerEditedImage] as? UIImage {
            myImageView.image = image
         }
        myImageView.contentMode = .scaleToFill
        self.dismiss(animated:true, completion: nil)
    }

关于ios - 无法在 IOS swift UIImagePickerController 中使用 "used photo",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42268672/

相关文章:

iphone - 从 iOS 6 中的应用程序映射应用程序后如何返回我的应用程序

iphone - 如何更改webview上字符串的字体

ios - 模型和 Controller 之间的通信

ios - Xcode 6 : "Archive validation failed with error" "Invalid image path"

iOS - 具有透明度的 presentViewController

ios - 在后台检测主页按钮长按事件

ios - Swift iOS - 将 View Controller 添加到新的 keyWindow 时 deinit 运行

ios - 如何获取特定的通知计数

objective-c - CALayer 中的事件

swift - 为什么我的父类(super class)在 Swift 中调用子类的方法而不是它自己的方法?