iPad 2 UIImagePickerКонтроллер камеры с автоматическим вращением сводит меня с ума! - PullRequest
8 голосов
/ 15 мая 2011

Я пытался разобраться с этим некоторое время и ничего не получилось.

Я использую камеру на iPad 2 - мое приложение в альбомной ориентации, но я хочу использовать камерув портретном режиме.Я просто не могу заставить ImagePicker a, в портретном режиме, и b, остановить автоматический поворот.

Есть ли способ заставить ImagePicker в портретную (или альбомную) ориентацию, и /или остановить автоматический поворот?

Несмотря на то, что приложение находится в альбомной ориентации и настроено на возврат ДА только в альбомную ориентацию, ImagePicker игнорирует это и поворачивается в портретную ориентацию при повороте iPad 2.

Если бы я мог заставить его оставаться в ландшафте, то (хотя и не идеально) я мог бы изменить дизайн приложения, чтобы использовать камеру в ландшафте, но я, кажется, не смогу сделать даже это!

Любая помощь с благодарностью!

Ответы [ 2 ]

1 голос
/ 20 июня 2011

Метод, который нужно переопределить, называется:

_isSupportedInterfaceOrientation:

Так это должно выглядеть примерно так:

@interface PortraitImagePickerController : UIImagePickerController {

}

@end





@implementation PortraitImagePickerController
- (BOOL)_isSupportedInterfaceOrientation:(UIDeviceOrientation)orientation{
    return UIDeviceOrientationIsPortrait(orientation);
}
@end

Но это определенно частный метод, поэтому Apple может отклонить ваше приложение

0 голосов
/ 08 мая 2015

Ну, я нашел более удобный способ и не рискую использовать закрытый код.

Подкласс a UIImagePickerController и добавьте следующий метод в его файл .m.

- (NSUInteger)supportedInterfaceOrientations{

    return UIInterfaceOrientationMaskPortrait;
}
...