使用图像选取器后,图像不显示在ImageView中。

问题描述 投票:0回答:1

我想写一个简单的应用程序,用我的照片库中的照片更新ImageView。我可以打开照片库并选择一张照片,但在我这样做之后,ImageViewer中的默认图片并没有显示出来。有什么原因吗?

import UIKit

class ViewController: UIViewController, UITextFieldDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {


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

    @IBOutlet weak var photoView: UIImageView!
    @IBAction func testGesture(_ sender: UITapGestureRecognizer) {

       let imagePickerController = UIImagePickerController()
        imagePickerController.sourceType = .photoLibrary
        imagePickerController.delegate = self
        present(imagePickerController, animated: true, completion: nil)
    }

    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
        dismiss(animated: true, completion: nil)

    }

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

        guard let selectedImage = info[UIImagePickerController.InfoKey.originalImage.rawValue] as? UIImage else {
            fatalError("Expected a dictionary containing an image, but was provided the following: \(info)")
        }

        photoView.image = selectedImage
        dismiss(animated: true, completion: nil)
    }

}
ios swift imageview imagepicker
1个回答
2
投票

你没有使用 UIImagePickerControllerDelegate's didFinishPickingMediaWithInfo 方法。移除 private 并修改 didFinishPickingMediaWithInfo 的方法。UIImagePickerControllerDelegate 方法语法,你就可以了。

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {

    guard let selectedImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage else {
        fatalError("Expected a dictionary containing an image, but was provided the following: \(info)")
    }

    photoView.image = selectedImage
    print(selectedImage)
    dismiss(animated: true, completion: nil)
}
© www.soinside.com 2019 - 2024. All rights reserved.