【问题标题】:Show image in imageview from gallery in swift快速在图库中的图像视图中显示图像
【发布时间】:2017-08-14 08:17:09
【问题描述】:

我是 IOS 新手,我想在从图库中挑选的 imageView 中显示图像。我还在 info.plist 中添加了照片描述。但是图像没有显示在 imageView 中。这是我的代码:

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

【问题讨论】:

  • 您的代表imagePickerController 是否被调用
  • 删除私有并尝试:)

标签: swift uiimageview uiimagepickercontroller


【解决方案1】:

假设您使用的是 Swift 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]

【讨论】:

  • @SalmanGhumsani 是的,没错;我认为这就是为什么没有调用该方法的原因......
  • @rachnasharma 当您删除 private 时,它有效吗?如果是,那么我假设您使用的是 Swift 2.x...您的 Xcode 的版本是什么?
  • 不,删除私有后它不能正常工作.....当我用你的代码替换我的代码时它工作正常......我的 xcode 版本是版本 8.3.3 (8E3004b)
猜你喜欢
  • 2018-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多