2015-12-20 3 views
0

Я использовал один UIImagePicker Controller в своей игре. его рабочий тон в iPad ландшафтный режим с использованием UIPopOver Controller, но поскольку UIPopoverController не поддерживается в iPhone, я использовал UIIMagePicker Controller для iPhone. сейчас он падает в моем iPhone. пожалуйста помогите.UIImagePicker Controller в ландшафтном режиме

У меня есть выбор следующие ориентаций в Deplyoment Информации моего проекта:

Пейзаж Левого Пейзаж Правого

+0

Соберите журнал ошибок и поместите здесь. –

+0

@HaroldoGondim нет журнала ошибок, но он сбой в основном файле на этой строке .... int retVal = UIApplicationMain (argc, argv, nil, @ "AppController"); [пул релиз]; return retVal; –

+0

@HaroldoGondim Я думаю, для этого требуется режим портретного режима в ориентации устройств в разделе информации о развертывании. но я не выбрал их, потому что это влияет на мою интеграцию с общим интерфейсом. –

ответ

0

портрет UIImagePickerController единственной поддержкой, так что вы должны убедиться, что ваше приложение имеет портрет в качестве поддерживаемой ориентации. Пожалуйста, см. Документацию UIImagePickerController Class Reference, я включил цитату из документа.

ВАЖНО

UIImagePickerController класс поддерживает только портретный режим. Этот класс предназначен для использования как есть и не поддерживает подклассы. Иерархия представления для этого класса является частной и не должна быть изменена, за одним исключением. Вы можете назначить произвольное представление объекту камерыOverlayView и использовать это представление для представления дополнительной информации или управления взаимодействием между интерфейсом камеры и вашим кодом.


EDIT

Посмотрите на UIApplicationDelegate Protocol, он имеет следующий метод

func application(application: UIApplication, 
supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask 

Из документации:

Обсуждение

Этот метод возвращает общий набор ориентаций интерфейса , поддерживаемых приложением. При определении того, следует ли вращать конкретный контроллер отображения , ориентировки, возвращаемые этим методом, равны , пересекаются с ориентациями, поддерживаемыми корневым представлением контроллера или верхнего представленного контроллера представления. Контроллер приложения и представления должен согласовать до разрешения вращения.

Если вы не реализуете этот метод, приложение использует значения в ключе UIInterfaceOrientation для UInterfaceOrientation для Info.plist приложения в качестве ориентации интерфейса по умолчанию .


+0

Да.спасибо, но только для поддержки UIImagePickerController мне нужно включить режим Portrait и сделать это, это влияет на мой общий пользовательский интерфейс, который полностью находится в ландшафтном режиме. скажите, пожалуйста, если у вас есть какие-либо предложения. –

+0

прямо сейчас я решил проблему с этим следующим методом, но я не уверен, что он действителен или нет. - (NSUInteger) приложение: (UIApplication *) приложение поддерживаетсяInterfaceOrientationsForWindow: (UIWindow *) окно { if ([self.window. rootViewController.presentedViewController isKindOfClass: [UIImagePickerController class]]) { return UIInterfaceOrientationMaskAll; } else return UIInterfaceOrientationMaskLandscape; } –

+0

Какой метод вы использовали? –

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