【问题标题】:Adding photos from photo album into an app to display in a tableView - IOS将相册中的照片添加到应用程序中以在 tableView 中显示 - IOS
【发布时间】:2015-08-25 01:49:25
【问题描述】:
我目前正在开发一个应用程序,该应用程序允许我从我的相册中选择照片以复制到我的应用程序中,以便在 tableView 中查看它们。基本上我有一个视图,它有一个添加按钮和一个视图按钮。当按下添加按钮时,UIIMagePickerController 会向我显示照片。
一旦我选择了一张照片,我想将这张照片复制到我的本地应用程序中。按下查看按钮后,将加载一个 tableView,显示之前复制的所有照片。我现在被困在这部分。实际复制和存储图像以供将来查看。
关于如何完成此任务的任何建议?创建一个 plist 并在那里添加文件怎么样?
提前致谢!
T
【问题讨论】:
标签:
ios
objective-c
iphone
uitableview
uiimagepickercontroller
【解决方案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;
}
希望对你有所帮助。