gpt4 book ai didi

ios - 如何将图像加载到 iOS 应用程序中

转载 作者:行者123 更新时间:2023-11-30 12:52:33 24 4
gpt4 key购买 nike

我正在尝试创建一个能够使用相机拍摄图像的应用程序,并将其加载到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 (Cannot assign value of type string to type UIImage)

我错过了什么吗?还是我使用了错误的方法?

最佳答案

将图像存储在 UserDefaults 中是个坏主意;更好的存储解决方案on the disk

这里

if let x = UserDefaults.standard.object(forKey: "p2ImagePath") as? String  
{
p2Image.image = x
}

您尝试将路径“p2ImagePath”中的某些内容转换为字符串,如果成功,请将其设置为您的 ImageView ;如果你希望它编译,请将其转换为 UIImage,但是,无论如何,你真正应该做的是将图像存储为 NSData 在特定路径并将其存储

编辑:

我错过了您的可访问性路径,并认为您正在尝试在 UserDefaults 中准确存储图像:)所以,你可以尝试

if let x = UserDefaults.standard.object(forKey: "p2ImagePath") as? String  
{
p2Image.image = UIImage(contentsOfFile: x)
}

关于ios - 如何将图像加载到 iOS 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40790200/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com