在ui图像查看器中上传的照片保持消失

Posted

技术标签:

【中文标题】在ui图像查看器中上传的照片保持消失【英文标题】:uploaded photo in ui image viewer keep disappears 【发布时间】:2019-01-31 00:25:52 【问题描述】:

我可以将照片从相机胶卷上传到 ui 图像查看器,但是当我重新启动我的应用程序或转到另一个页面并返回时,上传的照片会消失。我该如何保留它们?

 - (IBAction)selectImage:(id)sender 

UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

[self presentViewController:picker animated:YES completion:NULL];



- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)selectedImage editingInfo:(NSDictionary *)editingInfo

UIImage *chosenImage = selectedImage;

self.homeImage.image = chosenImage;
[self.view setNeedsDisplay];

[picker dismissViewControllerAnimated:YES completion:NULL];

NSData *imageData = UIImagePNGRepresentation(chosenImage.images);
NSString *imagePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"/myImage.png"];
[imageData writeToFile:imagePath atomically:YES];

我希望第二种方法将图像保留在内部数据库中并继续显示我上传的图像,但它没有。

【问题讨论】:

是的,您 writeToFile 的第二种方法是保存到应用程序沙箱中,但是在您终止应用程序后,您永远不会将其加载回来!要在应用重新启动时加载图片,您需要在 viewDidLoad 中使用 imageWithContentsofFile 加载它。 【参考方案1】:

您需要从文件中加载图像并在创建视图后将其分配给您的视图,类似于:

- (void)viewDidLoad 
    NSString * imagePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"/myImage.png"];
    self.homeImage.image = [UIImage imageWithContentsOfFile:imagePath];

【讨论】:

您好,当我永久关闭(从应用程序切换器)应用程序并重新启动它时,照片会消失。如何保存?

以上是关于在ui图像查看器中上传的照片保持消失的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iPhone 中以高质量调整图像大小

恢复消失的“Windows 照片查看器“

恢复消失的“Windows 照片查看器“

如何通过提供文件路径在默认图像查看器中打开图像?

win10自带的照片查看器消失了

如何从 Flash 查看器中提取图像?