将相册中的照片添加到应用程序中以显示在tableView - IOS中

时间:2015-08-25 01:49:26

标签: ios objective-c iphone uitableview uiimagepickercontroller

我正在开发一款应用程序,可以让我从相册中选择照片复制到我的应用程序中,以便在tableView中查看它们。基本上我有一个视图,有一个添加按钮和一个视图按钮。当按下添加按钮时,UIIMagePickerController显示向我显示照片。

选择照片后,我想将此照片复制到我的本地应用中。按下视图按钮后,将加载tableView,显示之前复制的所有照片。我此刻被困在这一部分。实际复制和存储图像以供将来查看。

有关如何完成此任务的任何建议?如何创建一个plist并在那里添加文件?

提前致谢!

Ť

1 个答案:

答案 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;
}

希望这会对你有所帮助。