iOS-获取系统的相册图片

在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开发中从图库中中获取图片的相关操作

原文地址:https://www.cnblogs.com/BeyondAverage0908/p/4673473.html