基于官方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

浙公网安备 33010602011771号