【发布时间】:2017-04-08 23:33:48
【问题描述】:
我正在尝试创建一个能够使用相机拍摄图像的应用程序,加载到UIImageView。当我重新启动应用程序时,我希望将照片加载到UIImageView,我该怎么做?
拍照:
@IBOutlet weak var p2Image: UIImageView!
@IBAction func p2takePhoto(_ sender: Any) {
let image = UIImagePickerController()
image.delegate = self
image.sourceType = UIImagePickerControllerSourceType.camera
image.allowsEditing = false
self.present(image, animated : true){}
}
拍照后,我用UIImageView显示照片并保存照片的路径:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let image = info[UIImagePickerControllerOriginalImage] as? UIImage
{
p2Image.image = image
UserDefaults.standard.set(p2Image.image?.accessibilityPath, forKey: "p2ImagePath")
}
else
{
}
self.dismiss(animated: true, completion: nil)
}
每次打开我的应用程序时显示我的照片的代码:
override func viewDidAppear(_ animated: Bool) {
if let x = UserDefaults.standard.object(forKey: "p2ImagePath") as? String
{
p2Image.image = x
}
但它不起作用,甚至无法构建,它说
p2Image.image = x(不能将字符串类型的值赋给 UIImage 类型)
我错过了什么吗?还是我用错了方法?
【问题讨论】:
标签: ios swift uiimageview