2017-02-16 60 views
0

我是新來的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

回答

0
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

相關問題