<UIImagePickerControllerDelegate>
- (IBAction)takePicture:(id)sender { // Make sure camera is available //UIImagePickerControllerSourceTypePhotoLibrary,访问设备上保存的所有照片 //UIImagePickerControllerSourceTypeCamera, //UIImagePickerControllerSourceTypeSavedPhotosAlbum只能用于访问Camera Roll相册 if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] == NO) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Camera Unavailable" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:nil, nil]; [alert show]; return; } if (self.imagePicker == nil) { self.imagePicker = [[UIImagePickerController alloc] init]; self.imagePicker.delegate = self; self.imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; self.imagePicker.allowsEditing = YES;//可编辑状态 } [self presentViewController:self.imagePicker animated:YES completion:NULL]; }
//取回相片、更新图像视图,隐藏图像选取器
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { UIImage * image = [info objectForKey:UIImagePickerControllerEditedImage];//可编辑状态 UIImageWriteToSavedPhotosAlbum (image, nil, nil , nil);//照片保存到相册中 self.imageView.image = image; self.imageView.contentMode = UIViewContentModeScaleAspectFill;//充满整个视图
//self.imageView.contentMode = UIViewContentModeScaleAspectFit;//固定纵横比显示整张图片
[self dismissViewControllerAnimated:YES completion:NULL];
}
//取消图片选择,隐藏图片选择器 - (void) imagePickerControllerDidCancel: (UIImagePickerController *) picker { [self dismissViewControllerAnimated:YES completion:NULL]; }