UIImagePickerController图片选择.
一、简介
使用UIImagePickerController可以选择照片
照片的来源UIImagePickerControllerSourceType包括:
- 照片库
- 照相机
- 保存的照片
使用步骤
1. 判断照片来源是否可用
2. 实例化照片选择控制器
3. 设置照片源
4. 设置是否允许编辑
5. 设置代理
6. 遵循协议
7. 显示照片选择控制器
二、代码示例
//
// ViewController.m
// 03_UIView12_UIImagePickerController
//
// Created by 杞文明 on 15/12/27.
// Copyright © 2015年 杞文明. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
/**选择头像*/
- (IBAction)selectImage:(id)sender {
//选择图片,需要使用UIImagePickerController
//1.创建UIImagePickerController, 实例化照片选择器
UIImagePickerController * pickerController = [[UIImagePickerController alloc]init];
//2.设置图片源
[pickerController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
//3.设置是否允许图片编辑
[pickerController setAllowsEditing:YES];
//4.设置代理
[pickerController setDelegate:self];
//5.设置当前控制器显示图片选择的控制器
[self presentViewController:pickerController animated:YES completion:nil];
}
/**选择结果的处理*/
- (void)imagePickerController:(nonnull UIImagePickerController *)picker didFinishPickingMediaWithInfo:(nonnull NSDictionary<NSString *,id> *)info{
//1.打印信息
NSLog(@"%@",info);
//2.获取图片
UIImage * image =info[@"UIImagePickerControllerEditedImage"];
//3.设置图片
[_imageView setImage:image];
//4.关闭图片选择控制器
[self dismissViewControllerAnimated:YES completion:nil];
}
@end
三、代理返回的info信息
2015-12-28 00:27:21.568 03_UIView12_UIImagePickerController[61404:231444] {
UIImagePickerControllerCropRect = "NSRect: {{825, 390}, {997, 997}}";
UIImagePickerControllerEditedImage = "<UIImage: 0x7fc192d27220> size {750, 750} orientation 0 scale 1.000000";
UIImagePickerControllerMediaType = "public.image";
UIImagePickerControllerOriginalImage = "<UIImage: 0x7fc192d6fb80> size {2668, 1780} orientation 0 scale 1.000000";
UIImagePickerControllerReferenceURL = "assets-library://asset/asset.JPG?id=0D7F6109-E4DD-48D5-B93A-90CC72ED4ED9&ext=JPG";
}