iOS調用相冊和攝像頭
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
UIImageView *imageView = [[UIImageView alloc] init];
imageView.frame = CGRectMake(0, 0, 80, 120);
imageView.backgroundColor = [UIColor greenColor];
imageView.tag = 101;
[self.view addSubview:imageView];
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(0, 200, 100, 30);
[button setTitle:@"打開相冊" forState:UIControlStateNormal];
[button addTarget:self action:@selector(openPics) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
UIButton *button2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button2.frame = CGRectMake(0, 300, 100, 30);
[button2 setTitle:@"打開相機" forState:UIControlStateNormal];
[button2 addTarget:self action:@selector(openCamera) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button2];
}
// 打開相機
(void)openCamera { // UIImagePickerControllerCameraDeviceRear 后置攝像頭 // UIImagePickerControllerCameraDeviceFront 前置攝像頭 BOOL isCamera = [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear]; if (!isCamera) {
NSLog(@"沒有攝像頭"); return ;}
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; imagePicker.delegate = self; // 編輯模式 imagePicker.allowsEditing = YES;
[self presentViewController:imagePicker animated:YES completion:^{ }];
}
// 打開相冊
(void)openPics {
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; imagePicker.delegate = self; [self presentViewController:imagePicker animated:YES completion:^{ }];
}
// 選中照片
- (void)imagePickerController:(UIImagePickerController )picker didFinishPickingMediaWithInfo:(NSDictionary )info{ NSLog(@"%@", info); UIImageView imageView = (UIImageView )[self.view viewWithTag:101]; // UIImagePickerControllerOriginalImage 原始圖片 // UIImagePickerControllerEditedImage 編輯后圖片 UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage]; imageView.image = image; [picker dismissViewControllerAnimated:YES completion:NULL];
}
// 取消相冊
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { [picker dismissViewControllerAnimated:YES completion:NULL];
}</pre>