2012-06-14 5 views
1

Так что это мой первый раз, когда мне приходится работать с камерой IPad, и у меня есть некоторые проблемы с UIImagePickerController, я не могу заблокировать его в портретном режиме.Как предотвратить изменение ориентации ориентации UIImagePickerController?

Сначала я подклассы UIImagePickerController и реализован

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ 
    return (interfaceOrientation==UIInterfaceOrientationPortrait); 
} 

, но потом я прочитал это не использовать в качестве UIImagePickerController не должно быть подклассы.

Следующее, что я пробовал, было с помощью наложения сборщика, я создал для него класс и реализовал тот же метод. Тем не менее это не работает, метод, кажется, называется ровно один раз каждый раз, когда я представляю сборщик с наложением.

- (void)viewDidLoad{ 
    [super viewDidLoad]; 
    _imagePicker = [[UIImagePickerController alloc] init]; 
    [_imagePicker setDelegate:self]; 
    [_imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera]; 
    [_imagePicker setCameraDevice:UIImagePickerControllerCameraDeviceFront]; 
    [_imagePicker setCameraCaptureMode:UIImagePickerControllerCameraCaptureModePhoto]; 
    [_imagePicker setAllowsEditing:YES]; 
    [_imagePicker setShowsCameraControls:YES]; 
    [_imagePicker setNavigationBarHidden:YES]; 
    [_imagePicker setToolbarHidden:YES]; 
    [_imagePicker setWantsFullScreenLayout:YES]; 

    CameraOverlay *_overlay = [[CameraOverlay alloc] init]; 
    [_overlay set_imagePicker:_imagePicker]; 
    [_imagePicker setCameraOverlayView:_overlay.view]; 
} 

-(IBAction)takePicture:(id)sender { 
    [self presentModalViewController:_imagePicker animated:YES]; 
} 

Я просто попытался что-то другое, захватывая ориентацию контроллера представления представления, но UIImagePickerController все еще вращается во всех направлениях. Еще одна вещь, которую я заметил - это изменение ориентации также изменяет настройки UIImagePickerController. У меня установлена ​​камера на переднюю камеру, когда я делаю снимок с ней, поверните IPad и попытайтесь сделать еще один снимок, камера настроена на заднюю камеру. Очень странно.

Так что же я пропустил, любые предложения, пожалуйста, о том, как я могу заблокировать ориентацию камеры? :)

Edit: перепутан UIImagePickerController и UIPickerView, фиксированный :)

ответ

1

Вы всегда можете свернуть свою собственную реализацию камеры с AVFoundation.

+0

Это то, что я сделал. –

Смежные вопросы