【发布时间】:2017-02-08 17:04:46
【问题描述】:
我有以下问题。我使用 imagepickerdelegate 从我的照片库中选择图像并将其应用到 UIImageView 中。问题是它不会用我选择的图像更新 UIImageview。
我都继承了
UIImagePickerControllerDelegate、UINavigationControllerDelegate
这是我的图像视图。
let profileImageView: UIImageView = {
let imageView = UIImageView()
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.layer.cornerRadius = 99 / 2
imageView.layer.masksToBounds = true
imageView.image = UIImage(named: "profileimg")
imageView.contentMode = .scaleToFill
return imageView
}()
然后在 UIImageView 中处理选择和设置图像的函数如下所示。
func addProfilePhoto() {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.allowsEditing = true
imagePicker.sourceType = .photoLibrary
imagePicker.mediaTypes = UIImagePickerController.availableMediaTypes(for: .photoLibrary)!
present(imagePicker, animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
var selectedImageFromPicker: UIImage?
if let editedPickedImage = info[UIImagePickerControllerEditedImage] as? UIImage {
selectedImageFromPicker = editedPickedImage
} else if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
selectedImageFromPicker = pickedImage
}
if let selectedImage = selectedImageFromPicker {
print("set image")
DispatchQueue.global(qos: .userInitiated).async {
DispatchQueue.main.async {
self.profileImageView.image = selectedImage
self.dismiss(animated: true, completion: nil)
}
}
}
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
dismiss(animated: true, completion: nil)
}
当我点击 UIImageView 时,我的日志会显示以下消息:
[通用] 创建未知类型的图像格式是错误的
当我选择一张图片时,它会确认有一张图片但它不会显示。
设置图片
知道我做错了什么吗?
【问题讨论】:
标签: ios swift uiimageview swift3