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>