- @interface ViewController ()<UIImagePickerControllerDelegate,UINavigationControllerDelegate>
- @property (weak, nonatomic) IBOutlet UIImageView *imView;
- @end
- @implementation ViewController
- {
- UIImagePickerController *_imPicker;
- }
- - (IBAction)takePicture:(id)sender
- {
- //make sure camera is available
- if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] == NO)
- {
- //camera is not available
- return;
- }
- if (_imPicker == nil) {
- _imPicker = [[UIImagePickerController alloc] init];
- _imPicker.delegate = self;
- _imPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
- }
- [self presentViewController:_imPicker animated:YES completion:nil];
- }
取图片
- - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
- {
- UIImage *im = [info objectForKey:UIImagePickerControllerOriginalImage];
- [_imView setImage:im];
- _imView.contentMode = UIViewContentModeScaleAspectFill;
- [self dismissViewControllerAnimated:YES completion:nil];
- }
取消图片选择
- - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
- {
- [self dismissViewControllerAnimated:YES completion:nil];
- }
实现可编辑
- - (IBAction)takePicture:(id)sender
- {
- //make sure camera is available
- if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] == NO)
- {
- //camera is not available
- return;
- }
- if (_imPicker == nil) {
- _imPicker = [[UIImagePickerController alloc] init];
- _imPicker.delegate = self;
- _imPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
- _imPicker.allowsEditing = YES;//相机界面处于可编辑状态
- }
- [self presentViewController:_imPicker animated:YES completion:nil];
- }
- - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
- {
- UIImage *im = [info objectForKey:UIImagePickerControllerEditedImage];//修改key
- UIImageWriteToSavedPhotosAlbum(im, nil, nil, nil);//保存到相册
- [_imView setImage:im];
- _imView.contentMode = UIViewContentModeScaleAspectFill;
- [self dismissViewControllerAnimated:YES completion:nil];
- }