Ios 在imageview中保存Imagedata

Ios 在imageview中保存Imagedata,ios,objective-c,uiimageview,uiimagepickercontroller,Ios,Objective C,Uiimageview,Uiimagepickercontroller,在应用程序中,我制作了一个图像视图,其中保存了从手机库中选择的图像或相机拍摄的图像。但是当我回到前一个场景时,选择的图像就消失了。我希望它保存在图像视图中,并有一个清除按钮来删除它。相机功能正常,但图像不会停留在图像视图中 摄像机功能: .h文件 您可能每次都在使用新实例。初始化后使用相同的实例。我认为,您必须将图像保存到应用程序的documents目录中 获取图像数据 NSData *imgData = UIImagePNGRepresentation(image); 将其写入文档目录 NS

在应用程序中,我制作了一个图像视图,其中保存了从手机库中选择的图像或相机拍摄的图像。但是当我回到前一个场景时,选择的图像就消失了。我希望它保存在图像视图中,并有一个清除按钮来删除它。相机功能正常,但图像不会停留在图像视图中

摄像机功能: .h文件


您可能每次都在使用新实例。初始化后使用相同的实例。

我认为,您必须将图像保存到应用程序的documents目录中

获取图像数据

NSData *imgData = UIImagePNGRepresentation(image);
将其写入文档目录

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
NSString *documentsPath = [paths objectAtIndex:0]; 
NSString *filePath = [documentsPath stringByAppendingPathComponent:@"image.png"];//Choose name for the image. 

[imgData writeToFile:filePath atomically:YES]; //Write the file
获取数据并将其显示在imageView上

同样,获取文件路径

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
NSString *documentsPath = [paths objectAtIndex:0]; 
NSString *filePath = [documentsPath stringByAppendingPathComponent:@"image.png"];//Name you have given    

NSData *imgData = [NSData dataWithContentsOfFile:filePath];
UIImage *image = [UIImage imageWithData:imgData];

imageView.image = image;
最好制作一个函数来获取文档目录的路径

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
NSString *documentsPath = [paths objectAtIndex:0]; 
NSString *filePath = [documentsPath stringByAppendingPathComponent:@"image.png"];//Choose name for the image. 

[imgData writeToFile:filePath atomically:YES]; //Write the file

我希望能有所帮助。

在我从cameraroll库中选择图像或拍摄照片之前,即使图像视图为空,此功能是否仍能正常工作?是的!这就是重点,对吗?除非你没有图像,否则它不会显示任何东西。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
NSString *documentsPath = [paths objectAtIndex:0]; 
NSString *filePath = [documentsPath stringByAppendingPathComponent:@"image.png"];//Name you have given    

NSData *imgData = [NSData dataWithContentsOfFile:filePath];
UIImage *image = [UIImage imageWithData:imgData];

imageView.image = image;