Swift 使用UIImagePicker在UIImageView中设置图像

Swift 使用UIImagePicker在UIImageView中设置图像,swift,swift5,swift5.2,Swift,Swift5,Swift5.2,这就是我的代码目前的样子。我期望发生的是profileImage(UIImageView)以当前未发生的方式显示所选图像 import UIKit class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate { @IBOutlet var profileImage: UIImageView! let picker = UIImagePicker

这就是我的代码目前的样子。我期望发生的是profileImage(UIImageView)以当前未发生的方式显示所选图像

import UIKit

class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {

@IBOutlet var profileImage: UIImageView!

let picker = UIImagePickerController()

override func viewDidLoad() {
        super.viewDidLoad()

        picker.delegate = self
        picker.sourceType = .photoLibrary
}


    @IBAction func photoUploadPressed(_ sender: Any) {

        if UIImagePickerController.isSourceTypeAvailable(.photoLibrary){
            let myPickerController = UIImagePickerController()
            myPickerController.delegate = self;
            myPickerController.sourceType = .photoLibrary
            self.present(myPickerController, animated: true, completion: nil)

    }


    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
        if let image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage{
            selectedImage = image
            profileImage.image = image
        }
        dismiss(animated: true, completion: nil)
    }

}
当前会出现图像选择器,但一旦选中,它不会更改UIImageView的图像


任何帮助都将不胜感激。

它按预期工作。您代码中唯一的错误是,}在
photoUploadPressed(uu-sender:Any)
中丢失,并且您没有声明selectedImage&在
imagePickerController中使用它

工作代码

导入UIKit
类ViewController:UIViewController、UIImagePickerControllerDelegate、UINavigationControllerDelegate{
让picker=UIImagePickerController()
var selectedImage:UIImage?
@ibvar profileImage:UIImageView!
重写func viewDidLoad(){
super.viewDidLoad()
//加载视图后执行任何其他设置。
picker.delegate=self
picker.sourceType=.photoLibrary
}
@iAction func potoUploadPressed(\发送方:任意){
如果UIImagePickerController.isSourceTypeAvailable(.photoLibrary){
让myPickerController=UIImagePickerController()
myPickerController.delegate=self;
myPickerController.sourceType=.photoLibrary
self.present(myPickerController,动画:true,完成:nil)
}//您的代码中缺少它
}
func imagePickerController(picker:UIImagePickerController,didFinishPickingMediaWithInfo:[UIImagePickerController.InfoKey:Any]){
如果让image=info[UIImagePickerController.InfoKey.originalImage]作为?UIImage{
selectedImage=image//您尚未声明selectedImage
profileImage.image=image
}
驳回(动画:真,完成:无)
}
}

删除此
让picker=UIImagePickerController()
同时从
viewDidLoad()中删除这两行。
您的代码对我来说运行良好。您可以指定问题吗?您的代码中的
selectedImage
是什么??