Я хотел бы иметь возможность изменить UIImagePickerControllerCameraDevice с помощью кнопки. Кнопка, которую я хотел бы использовать, помещается в наложение, которое отображается поверх ImagePicker при его запуске.
У меня есть подозрение, что это потребует от меня использования делегата, но мои знания о делегатах очень минимальны. Может ли кто-нибудь указать мне правильное направление?
Вот код, который я использую для своего UIImagePickerController «GetPhoto», который проверяет, есть ли у устройства камера и включает ли правильную камеру при запуске, в зависимости от того, какая у вас есть, и, если у вас ее нет, дает вам поворот камеры.
-(IBAction) getPhoto:(id) sender {
UIImagePickerController * picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
if((UIButton *) sender == takePictureButton) {
overlayViewController *overlay = [[overlayViewController alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGTH)];
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerCameraDeviceFront]) {
picker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
}
else {
picker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
}
picker.cameraOverlayView = overlay;
}
else {
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.allowsEditing = YES;
}
}
[self presentModalViewController:picker animated:YES];
[picker release];
}