Swift 使用UIImagePicker在UIImageView中设置图像
这就是我的代码目前的样子。我期望发生的是profileImage(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
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
是什么??