基于官方UIImagePicker的图片多选

正好有个项目用到类似的功能,先搜索了一圈,找到了ELCImagePicker的解决方案,并且多数提此类问题,最终得到的回答都是此方案。
结果发现有一个硬伤,就是基于ALAssertLibrary,会在第一次使用此功能时弹出提醒用户打开定位的提示,这个提示完全不可控,用户如果选择禁止访问,就歇菜了,下次打开不会再有提示,直接报错。

必须手动进入设置->定位中开启。且打开特定设置面板的API需要IOS5 SDK。
使用方法如下:
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
图片:4064_120810085853_1.jpg

posted @ 2015-12-28 15:32  Bo-tree  阅读(694)  评论(0)    收藏  举报