【发布时间】:2017-03-30 20:24:03
【问题描述】:
我正在尝试使用 UIImagePickerController 选择图像。我有以下代码,其中有一个 UIImageView 的 IBOutlet。
在 didFinishPickingMediaWithInfo 中选择图像后,我在内存中获取了图像,但不知何故它在图像视图中不可见。我确实尝试为 imageview 更改 didFinishPickingMediaWithInfo 中的静态图像,但它也没有显示图像。代码如下,
class SnapshotViewController: UIViewController,UINavigationControllerDelegate, UIImagePickerControllerDelegate
{
@IBOutlet var imageView: UIImageView!
@IBAction func takePhoto(sender: AnyObject) {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .PhotoLibrary
imagePicker.allowsEditing = false
presentViewController(imagePicker, animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
dismissViewControllerAnimated(true, completion: nil)
dispatch_async(dispatch_get_main_queue())
{
let image = info[UIImagePickerControllerOriginalImage] as? UIImage
self.imageView.image = image
}
}
}
我想这是一个普遍的问题,即我在 didFinishPickingMediaWithInfo 中为这个 imageView 更改的任何图像都不起作用。如果我在 viewDidLoad 中更改 imageView 图像,那么它可以工作。 谁能帮忙,因为我需要显示通过照片库选择的图像?
【问题讨论】:
-
我建议删除不必要的
dispatch_async块,并尝试先设置图像,然后才关闭图像选择器。
标签: swift uiimageview uiimagepickercontroller