[英]Trying to set image in the PresentViewController with ImagePickerController
[英]Set Image in imagePickerController with using Kingfisher
我想使用Kingfisher
在imagePickerController
中将图像设置为我的UIImageView
但没有任何反应。 首先,我将用户定向到照片库。 在用户选择照片并返回后,我将照片作为UIImage
和imagePickerController
的URL
。 Kingfisher 没有设置UIImage
的方法。 所以我尝试从 URL 设置它,但我只看到一个空的UIImageView
。 我的代码是;
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let changedImage = info[UIImagePickerControllerOriginalImage] as! UIImage
let url = info[UIImagePickerControllerReferenceURL] as! URL
profilePhotoImage.kf.setImage(with: url)
picker.dismiss(animated: true, completion: nil)
}
我的网址是, "assets-library://asset/asset.JPG?id=D21C7124-472A-44F8-A22B-B3A5A0C48E32&ext=JPG" 0x00000001702f7680"
。我的UIImage
有什么问题"assets-library://asset/asset.JPG?id=D21C7124-472A-44F8-A22B-B3A5A0C48E32&ext=JPG" 0x00000001702f7680"
“确定我能得到的照片,因为当我尝试集changedImage
没有kf
它的工作原理我试过, 翠鸟,快捷3 -不能设定画面与网址,但没有奏效。
与主线程一起在完成处理程序上执行此操作
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
dismiss(animated: true, completion: {
DispatchQueue.main.async {
self.imgProfile.kf.base.image = image
}
})
}
嗯你是对的。 真是太奇怪了。
尝试在选择器关闭方法完成时设置更改的图像。 也许它会起作用:
picker.dismiss(animated: true, completion: nil)
self.imageView.image = self.changedImage
}
我还没有尝试从本地 URL 加载,但我确定有一种方法可以使用 Kingfisher 下载图像。
使用 ImageDownloader 下载图片而不缓存
ImageDownloader.default.downloadImage(with: url, options: [], progressBlock: nil) {
(image, error, url, data) in
print("Downloaded Image: \(image)")
}
你可以参考这个备忘单。
SWIFT 5 你可以试试这个代码:
让 addURL = "https://..."
if let urlPhotos = URL(string: addURL) {
image.kf.setImage(with: urlPhotos, placeholder: UIImage(systemName: "folder"))
确保你向 UIImageView 声明了 @IBOutlet。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.