1、开权限:
Privacy - Photo Library Usage Description
Privacy - Camera Usage Description、
2、添加代理
UINavigationControllerDelegate,UIImagePickerControllerDelegate
3、实现代理方法:
- (void)openCamera {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = YES; //可编辑
//判断是否可以打开照相机
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentViewController:picker animated:YES completion:nil];
} else {
NSLog(@"没有摄像头");
}
}
#pragma mark - UIImagePickerControllerDelegate
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info {
[picker dismissViewControllerAnimated:YES completion:^{}];
UIImage *theImage = nil;
if(picker.sourceType == UIImagePickerControllerSourceTypeCamera) {
theImage = [info objectForKey:UIImagePickerControllerOriginalImage];
[self.allImage addObject:theImage];
[self.mainCollectionView reloadData];
}
}
//进入拍摄页面点击取消按钮
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
[self dismissViewControllerAnimated:YES completion:nil];
}