您如何在使用UIImagePickerController选择的UIImageView中显示图像?

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

我对Xcode和Swift还是很陌生,我试图在使用UIImageView选择的UIImagePickerController中显示图像。我使用UIImageView链接了@IBOutlet,并在底部放置了一些if语句以允许编辑所选图片,但是当我的代码中弹出错误时,我被卡住了。我非常确定问题与我引用UIImageView的方式有关,但是我不知道如何以其他方式进行。我只是得到这个帐户来问这个问题,所以请原谅我发布帖子的方式。

这里是代码:

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    @IBAction func openPhotosButton(_ sender: UIButton) {
        showImagePickerController()
    }

    @IBOutlet weak var characterView: UIImageView!

}

extension ViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {

    func showImagePickerController() {
        let imagePickerController = UIImagePickerController()
        imagePickerController.delegate = self
        imagePickerController.allowsEditing = true
        imagePickerController.sourceType = .photoLibrary
        present(imagePickerController, animated: true)
    }

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

        if let editedImage = info[UIImagePickerController.InfoKey.editedImage] as UIImage {
            characterView.image = editedImage
        }
        else if let originalImage = info[UIImagePickerController.InfoKey.originalImage] as UIImage {
            characterView.image = originalImage
        }

        dismiss(animated: true)
    }
}

来自Xcode的图片:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9WRFo5Ti5wbmcifQ==” alt =“来自Xcode的图片”>

ios swift uiimageview uiimagepickercontroller
1个回答
-1
投票

将您的方法更改为该方法

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

        if let editedImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage {
            characterView.image = editedImage
        }
        else if let originalImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
            characterView.image = originalImage
        }

        dismiss(animated: true)
    }
© www.soinside.com 2019 - 2024. All rights reserved.