Ios 使用翠鸟在imagePickerController中设置图像
我想在Ios 使用翠鸟在imagePickerController中设置图像,ios,swift,swift3,uiimage,kingfisher,Ios,Swift,Swift3,Uiimage,Kingfisher,我想在imagePickerController中使用Kingfisher将图像设置为我的UIImageView,但什么也没发生。首先,我将用户引导到照片库。用户选择照片并返回后,我将照片作为UIImage和imagePickerController中的URL。翠鸟没有设置UIImage的方法。所以我尝试从URL设置它,但我只看到一个空的UIImageView。我的代码是 func imagePickerController(_ picker: UIImagePickerController,
imagePickerController
中使用Kingfisher
将图像设置为我的UIImageView
,但什么也没发生。首先,我将用户引导到照片库。用户选择照片并返回后,我将照片作为UIImage
和imagePickerController
中的URL
。翠鸟没有设置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)
}
我的url是,“资产-library://asset/asset.JPG?id=D21C7124-472A-44F8-A22B-B3A5A0C48E32&ext=JPG“0x00000001702f7680“
。我的URL有什么问题吗?或者我可以用翠鸟设置UIImage
。我确信我能得到照片,因为当我尝试设置changedImage
而不设置kf
时,它会起作用。我试过了
但是它不起作用。我没有尝试从本地URL下载,但我确信有一种方法可以使用翠鸟下载图像 使用ImageDownloader在不缓存的情况下下载图像
ImageDownloader.default.downloadImage(with: url, options: [], progressBlock: nil) {
(image, error, url, data) in
print("Downloaded Image: \(image)")
}
你可以参考这张备忘单
是的,你是对的。真是太奇怪了 尝试在picker Disclose方法完成时设置更改的图像。也许它会起作用:
picker.dismiss(animated: true, completion: nil)
self.imageView.image = self.changedImage
}
在完成处理程序和主线程一起执行此操作
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
dismiss(animated: true, completion: {
DispatchQueue.main.async {
self.imgProfile.kf.base.image = image
}
})
}
是的,一定有一个简单的方法来树立翠鸟的形象。我查看了备忘单,但找不到。太奇怪了。你想在哪种情况下使用翠鸟?它是用于缓存功能的吗?