2017-08-14 16 views
-1

我是IOS中的新成員,我希望在圖像中顯示圖像,這是從圖庫中挑選出來的。我還在info.plist中添加了照片描述。但圖像未在圖像查看中顯示。這裏是我的代碼:在swift中從圖庫中查看圖像

import UIKit 

class ViewController: UIViewController, UIImagePickerControllerDelegate,UINavigationControllerDelegate { 
    @IBOutlet weak var img: UIImageView! 
    @IBOutlet weak var imageView: UIImageView! 
    @IBOutlet var chooseBuuton: UIButton! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

    } 

    @IBAction func btnClicked() { 
     let imagePicker = UIImagePickerController() 
     imagePicker.delegate = self 
     imagePicker.sourceType = UIImagePickerControllerSourceType.photoLibrary 
     imagePicker.allowsEditing = false 
     self.present(imagePicker, animated: true, completion: nil) 
    } 
    private func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
     if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage { 
      //imageView.contentMode = .scaleAspectFit 
      img.image = pickedImage 
     } 
     self.dismiss(animated: true, completion: nil) 
    } 
} 
+0

您的代理'imagePickerController'被稱爲與否 –

+0

刪除私人和嘗試:) –

回答

0

假設你正在使用斯威夫特3.X

你應該實現imagePickerController(_:didFinishPickingMediaWithInfo:)如下:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 
    if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage { 
     //imageView.contentMode = .scaleAspectFit 
     img.image = pickedImage 
    } 
    self.dismiss(animated: true, completion: nil) 
} 

它應該是好的去。有什麼區別?井:

1-刪除private

2-該方法的簽名是不一樣的,如文檔中所提及的,info應該是類型[String : Any][String : AnyObject]的。

+0

[字符串:任何]不[字符串:AnyObject]她可能被用來迅速2.x的.. –

+0

@SalmanGhumsani是的,這是正確的;我認爲這就是爲什麼該方法不被稱爲... –

+0

謝謝薩勒曼Ghumsani先生...它工作正常 –