在 iphone 中创建自定义图片库
Posted
技术标签:
【中文标题】在 iphone 中创建自定义图片库【英文标题】:Create custom image gallery in iphone 【发布时间】:2013-02-11 04:20:44 【问题描述】:我使用下面的代码从图库中选择照片或直接使用相机
- (void)actionSheet:(UIActionSheet *)actionSheet
clickedButtonAtIndex:(NSInteger)buttonIndex
UIImagePickerController *imagePickerController =
[[UIImagePickerController alloc]init];
imagePickerController.delegate = self;
if (buttonIndex == 0)
photoButtonNum=0;
[self presentViewController:imagePickerController
animated:YES
completion:nil];
imagePickerController.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;
else if (buttonIndex == 1)
photoButtonNum=1;
[self presentViewController:imagePickerController
animated:YES
completion:nil];
imagePickerController.sourceType =
UIImagePickerControllerSourceTypeCamera;
我希望为我自己的应用程序创建一个自定义目录(文件夹),以将挑选的照片保存在 iPhone 中。我需要你的帮助
-
为我自己的应用创建一个自定义目录
想要将选取的照片保存在该自定义目录中。
我是iPhone
开发的新人,期待您的宝贵帮助。
提前致谢。
【问题讨论】:
【参考方案1】:本站有助于您创建和保存Photo in your Directory
你也可以使用下面的代码。
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
UIImage *pickedImage =
[info objectForKey:UIImagePickerControllerOriginalImage];
NSData *imageData = UIImagePNGRepresentation(pickedImage);
NSString *documentsDirectory =
[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask,
YES) lastObject];
NSString *path = [documentsDirectory
stringByAppendingPathComponent:@"imageName.png"];
NSError * error = nil;
[imageData writeToFile:storePath options:NSDataWritingAtomic error:&error];
if (error != nil)
NSLog(@"Error: %@", error);
return;
【讨论】:
这里的“storePath”是什么?它是“路径”本身吗?【参考方案2】:ios 5 为您提供了使用ALAssetsLibrary
添加自定义相册的功能
这里有教程iOS5: Saving photos in custom photo album
编辑
万一链接失效
在 .h 文件中创建 ivar
ALAssetsLibrary* library;
然后在你的代码中可能在viewDidLoad
library = [[ALAssetsLibrary alloc] init];
然后在你的委托方法中
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
[self.library saveImage:image toAlbum:@"Touch Code Magazine" withCompletionBlock:^(NSError *error)
if (error!=nil)
NSLog(@"Big error: %@", [error description]);
];
[picker dismissModalViewControllerAnimated:NO];
【讨论】:
@SamBudda 没关系,虽然我已经编辑了我的答案,以防链接变为非活动状态。 SO也不建议在答案中提供链接。每当我遇到只包含链接的答案(在我最初的 SO 职业中发布)时,我都会编辑它们以上是关于在 iphone 中创建自定义图片库的主要内容,如果未能解决你的问题,请参考以下文章