开发中上传头像的时候会用到UIImagePickerController,无论是从照片库选择照片还是拍照都使用这个类;
创建代码如下:
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
[picker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
[picker setAllowsEditing:YES];
picker.delegate = self;
[self presentViewController:picker animated:YES completion:nil];
说明:第二行代码设置类型
@property(nonatomic) UIImagePickerControllerSourceType sourceType;
UIImagePickerControllerSourceTypePhotoLibrary//这个照片库
UIImagePickerControllerSourceTypeCamera//这个是相机
UIImagePickerControllerSourceTypeSavedPhotosAlbum//这个是所有照片
第三行代码设置是否可编辑,默认是NO,是NO的时候是点击图片直接选择图片,当设置YES的时候选择图片以后会跳到图片编辑页面,可以对图片进行裁剪。
第四行设置委托,这里有如下两个委托方法:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info;
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker;
这里要注意使用原图用来显示的时候请先压缩。