1. .h文件实现 UIImagePickerControllerDelegate和 UINavigationControllerDelegate接口
2. 打开相机/相册
具体函数中添加代码:
UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.sourceType = UIImagePickerControllerSourceTypeCamera; picker.delegate = self; picker.allowsEditing = YES; [self presentViewController:picker animated:NO completion:nil];
其中,sourceType属性代表打开 UIImagePickerController的样式,
UIImagePickerControllerSourceTypePhotoLibrary 来自图库
UIImagePickerControllerSourceTypeCamera 来自相机
UIImagePickerControllerSourceTypeSavedPhotosAlbum 来自相册
3. 实现代理方法
#pragma mark - UIImagePickerControllerDelegate - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info { [picker dismissViewControllerAnimated:NO completion:nil]; NSString * type = [info objectForKey:UIImagePickerControllerMediaType]; if ([type isEqualToString:@"public.image"]) { UIImage * image = [info objectForKey:@"UIImagePickerControllerEditedImage"]; // image即为从相机/相册获取到的图片 } } - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { [picker dismissViewControllerAnimated:NO completion:nil]; }