iOS选择图片的类是UIImagePickerController,使用该类时,必须遵循两个协议:UIImagePickerControllerDelegate,UINavigationControllerDelegate。UIImagePickerController的sourceType属性表示照片的来源,一共有三种:UIImagePickerControllerSourceTypePhotoLibrary(图库)、UIImagePickerControllerSourceTypeSavedPhotosAlbum(相册)、UIImagePickerControllerSourceTypeCamera(拍照)。
选择照片之后在代理函数- (void)imagePickerController:(UIImagePickerController )picker didFinishPickingImage:(UIImage )image editingInfo:(nullable NSDictionary
代码
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.delegate = self;
imagePickerController.allowsEditing = YES;
switch (index) {
case 0:
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
break;
case 1:
imagePickerController.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
break;
case 2: imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
break;
case 3:
return;
default:
break;
}
[self presentViewController:imagePickerController animated:YES completion:nil];
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(nullable NSDictionary<NSString *,id> *)editingInfo {
NSData *imageData = UIImagePNGRepresentation(image);
}