不能使用IOS中的“使用过的照片”swift UIImagePickerController

问题描述:

我是新来的swift ... 其实我是任何苹果产品的新手。所以基本上我试图学习如何在试飞时学习如何搭建飞机并学习如何飞行。当这个免责声明是在那里我想要一些帮助;)不能使用IOS中的“使用过的照片”swift UIImagePickerController

我的问题是,我无法让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) 

} 

我必须承认,我不知道我是什么版本的雨燕使用。我假设最新的,因为我只是更新了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(_选择器:的UIImagePickerController,didFinishPickingMediaWithInfo信息:[字符串:AnyObject])一个问题...

他们谈论似乎并没有为我工作,他们正在使用的东西,我已被告知depricated。

编辑2:

我这是怎么初始化拾取对象以及类是如何定义的

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


    @IBOutlet weak var myImageView: UIImageView! 
+0

没有你忘了添加委托'picker.delegate =代表'? –

+0

在添加'present(picker,animated:true,completion:nil)'之前,您需要将您的控制器设置为委托,以便您能够回叫。添加'picker.delegate = self',它会打你的'func imagePickerController(..)' – Priyal

+0

@Priyal如果这是我需要做的,那么我已经尝试了两个地方现在一个如我的编辑和其他我试过它里面shootPhoto方法 – Helbo

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) 
    } 
+0

只是现在试过了,它仍然没有命中当我按下“使用照片”按钮时, – Helbo