我目前能够拍摄照片或从相机加载并将图像放置在我的应用程序的 UIImageView 中,因为我希望能够有一个按钮来保存图像,所以当我重新加载应用程序时,图像仍然在图像视图。
我虽然是一个按钮,一旦你加载它并在
-(void)viewDidLoad
有代码来加载已保存的图像,但我不知道如何处理。
任何帮助都会很棒。
我目前能够拍摄照片或从相机加载并将图像放置在我的应用程序的 UIImageView 中,因为我希望能够有一个按钮来保存图像,所以当我重新加载应用程序时,图像仍然在图像视图。
我虽然是一个按钮,一旦你加载它并在
-(void)viewDidLoad
有代码来加载已保存的图像,但我不知道如何处理。
任何帮助都会很棒。
您可以将图像转换为NSData
使用UIImagePNGRepresentation
或UIImageJPGRepresentation
,然后将数据保存到调用其中一个方法的文件NSData
中writeToFile...
。
然后当您重新启动应用程序时,您可以通过调用获取图像[UIImage imageWithData:[NSData dataWithContentsOfFile:filePath]]
- 编辑 -
保存图片
UIImage *image = ...;
NSString *cachedFolderPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
NSString *cachedImagePath = [cachedFolderPath stringByAppendingPathComponent:@"image.png"];
[UIImagePNGRepresentation(image) writeToFile:cachedImagePath atomically:YES];
加载图像
NSString *cachedFolderPath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
NSString *cachedImagePath = [cachedFolderPath stringByAppendingPathComponent:@"image.png"];
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfFile:cachedImagePath]];
我使用它NSCachesDirectory
是因为我假设您不想备份此图像(通过 iCloud 或 iTunes)。如果你这样做了,那么你会想要使用它NSDocumentDirectory
。