在iOS开发中时常会需要调用系统相册中的图片,方法很简单,但是方法很长,由此记录以下.
.h文件中需要导入<MobileCoreServices/MobileCoreServices.h>框架
1 #import <MobileCoreServices/MobileCoreServices.h> 2 3 @interface DetailViewController : UIViewController<UINavigationControllerDelegate,UIImagePickerControllerDelegate> 4 5 @end
.m文件中的主要代码:一般在某个按钮的事件方法中填入如下代码
1 //第一步:判读判断是否能打开系统图库 2 if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) { 3 //第二步:实例化UIImagePickerController对象 4 UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 5 //第三步:告诉picker对象是获取图库资源 6 picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 7 //第四步:设置代理,需要遵守UINavigationControllerDelegate,UIImagePickerControllerDelegate两个代理 8 picker.delegate = self; 9 //第五步:设置picker可以编辑 10 picker.allowsEditing = YES; 11 [self presentViewController:picker animated:YES completion:nil];
UIImagePickerController的代理方法中:
1 #pragma mark --代理方法UIImagePickerControllerDelegate-- 2 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 3 { 4 //获取选中资源的类型 5 NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType]; 6 //kUTTypeImage 系统预置的图片类型的常量 7 if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) { 8 //代理方法中从info中获取图片 UIImagePickerControllerEditedImage表示图片的关键字 9 UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage]; 10 [_headImage setImage:image forState:UIControlStateNormal]; 11 } 12 [picker dismissViewControllerAnimated:YES completion:nil]; 13 } 14 //取消选择图片的时候调用该方法 15 - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker 16 { 17 [picker dismissViewControllerAnimated:YES completion:nil]; 18 }
如上就是关于从iOS开发中从图库中中获取图片的相关操作