我正在尝试创建一个能够使用相机拍摄图像的应用程序,并将其加载到UIImageView
中。当我重新启动应用程序时,我想将照片加载到UIImageView
中,我该怎么做?如何将图像加载到iOS应用程序
拍照:
@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)
我缺少的东西?或者我使用错误的方法?
嗨解决那里,谢谢回复。我已经尝试过p2Image.image = UIImage(contentsOfFile:x)。它没有错误,我可以构建它,但重新启动后图像未加载到应用程序中。 –
图像不显示是因为我使用模拟器? –
我不确定,我从来没有用accessibilityPath这样的方法;尝试将它存储在磁盘上,而不是访问它。有链接回答,在那里描述如何做到这一点 –