基于官方UIImagePicker的图片多选(类似美图秀秀)

正好有个项目用到类似的功能,先搜索了一圈,找到了ELCImagePicker的解决方案,并且多数提此类问题,最终得到的回答都是此方案。

结果发现有一个硬伤,就是基于ALAssertLibrary,会在第一次使用此功能时弹出提醒用户打开定位的提示,这个提示完全不可控,用户如果选择禁止 访问,就歇菜了,下次打开不会再有提示,直接报错。必须手动进入设置->定位中开启。且打开特定设置面板的API需要IOS5 SDK。

没辙,发现美图秀秀也有多选功能,并且无需开启定位。大喜,没搜索到类似的解决办法,自行研究后封装了一个类,也给有需要的朋友方便使用。

基于官方UIImagePicker的图片多选(类似美图秀秀)_第1张图片

使用方法如下:

MHImagePickerMutilSelector* imagePickerMutilSelector=[MHImagePickerMutilSelector standardSelector];//自动释放
        imagePickerMutilSelector.delegate=self;//设置代理

UIImagePickerController* picker=[[UIImagePickerController alloc] init];
        picker.delegate=imagePickerMutilSelector;//将UIImagePicker的代理指向到imagePickerMutilSelector
        [picker setAllowsEditing:NO];
picker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
picker.modalTransitionStyle= UIModalTransitionStyleCoverVertical;
        picker.navigationController.delegate=imagePickerMutilSelector;//将UIImagePicker的导航代理指向到imagePickerMutilSelector

        imagePickerMutilSelector.imagePicker=picker;//使imagePickerMutilSelector得知其控制的UIImagePicker实例,为释放时需要。

[self presentModalViewController:picker animated:YES];
        [picker release];


就一个代理的方法,获得多选的图片数据数组
-(void)imagePickerMutilSelectorDidGetImages:(NSArray *)imageArray
{
importItems=[[NSMutableArrayalloc] initWithArray:imageArray copyItems:YES];
}
 

下载 MHImagePickerMutilSelector.zip (4 K) 

or : http://pan.baidu.com/share/link?shareid=157141&uk=1360273008

下载ELCImagePicker:  http://pan.baidu.com/share/link?shareid=157139&uk=1360273008

你可能感兴趣的:(基于官方UIImagePicker的图片多选(类似美图秀秀))