1.准备atom
//须要遵照两个协议spa
@interface ViewController ()<UINavigationControllerDelegate,UIImagePickerControllerDelegate>代理
//xib中拉一个按钮(跳转) 一个接收image的UIImageView(连线以下)图片
@property (weak, nonatomic) IBOutlet UIImageView *imgV;it
@property (nonatomic, strong) UIImagePickerController *picker;io
@end方法
2.设置im
_picker = [[UIImagePickerController alloc]init];协议
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {img
_picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
}
//设置代理
_picker.delegate = self;
3.进入相册 present (xib连线的)
- (IBAction)sender:(UIButton *)sender {
[self presentViewController:_picker animated:YES completion:^{}];
}
4.设置UIImagePickerController的代理方法实现所要的效果 (1.取消时 2选择了图片时)
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
NSLog(@"cancel");
[picker dismissViewControllerAnimated:YES completion:^{}];
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{
// 取原始照片
_imgV.image = info[@"UIImagePickerControllerOriginalImage"];
// 返回
[picker dismissViewControllerAnimated:YES completion:^{}];
// 将info打印 看看是什么
// NSLog(@"%@",info);//结果以下
2016-06-18 20:28:56.488 UIPickerController[5531:306107] {
UIImagePickerControllerMediaType = "public.image";
UIImagePickerControllerOriginalImage = "<UIImage: 0x7fcefe02e650> size {3000, 2002} orientation 0 scale 1.000000";
UIImagePickerControllerReferenceURL = "assets-library://asset/asset.JPG?id=ED7AC36B-A150-4C38-BB8C-B6D696F4F2ED&ext=JPG";
}
}
运行结果以下: