我正在开发一款应用程序,可以让我从相册中选择照片复制到我的应用程序中,以便在tableView中查看它们。基本上我有一个视图,有一个添加按钮和一个视图按钮。当按下添加按钮时,UIIMagePickerController显示向我显示照片。
选择照片后,我想将此照片复制到我的本地应用中。按下视图按钮后,将加载tableView,显示之前复制的所有照片。我此刻被困在这一部分。实际复制和存储图像以供将来查看。
有关如何完成此任务的任何建议?如何创建一个plist并在那里添加文件?
提前致谢!
Ť
答案 0 :(得分:1)
如果要将图像从UIIMagePickerController
保存到应用程序,那么最好的方法是使用文档目录文件夹,将这些图像保存到文档文件夹。
下面我将发布一些代码,这些代码可以帮助您保存图像并进行检索。
-(void) saveImageNamed :(NSString *) imageName andImage :(UIImage *) image{
NSData *pngData = UIImagePNGRepresentation(image);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0]; //Get the docs directory
NSString *filePath = [documentsPath stringByAppendingPathComponent:imageName]; //Add the file name
[pngData writeToFile:filePath atomically:YES];
}
以下是从文件夹
中检索图像的方法-(UIImage *) getImageWithPath :(NSString *) imagePath {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSData *pngData = [NSData dataWithContentsOfFile:[documentsPath stringByAppendingPathComponent:imagePath]];
UIImage *image = [UIImage imageWithData:pngData];
return image;
}
希望这会对你有所帮助。