Блокировка приложения только в ландшафтном режиме

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

return (interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationLandscapeLeft);

Но затем мое приложение сначала пытается загрузиться в портретном режиме, и в процессе экран выглядит растягивающимся. Я что-то упускаю? Пожалуйста, предложите. Любая помощь будет оценена

Спасибо,
Кристи


person Vipin    schedule 07.06.2011    source источник


Ответы (2)


Вы говорите, что приведенный выше код находится в -(void)willRotateToOrientation, хотя его следует поместить в -(BOOL)shouldRotateToOrientation.

Предполагая, что это опечатка, задайте для поддерживаемых ориентаций в файле Info.plist значение LandscapeRight и LandscapeLeft.

person PengOne    schedule 07.06.2011
comment
я сделал это, но все еще мое приложение, когда загружается, оно пытается загрузить экран в портретном режиме - person Vipin; 07.06.2011
comment
Загрузка Default.png соответствует ожиданиям? - person PengOne; 07.06.2011
comment
Хорошо, понял, я должен написать эту строку в applicationdidfinish launching:-application.statusBarOrientation = UIInterfaceOrientationLandscapeRight; это сработало - person Vipin; 07.06.2011

Просто чтобы убедиться, что исправление Кристины в комментариях к другому ответу не пропущено:

application.statusBarOrientation = UIInterfaceOrientationLandscapeRight

Я добавил это в функцию делегата приложения didFinishLaunching, и, похоже, это вызывает обновление контроллера представления, что в моем случае гарантировало, что буфер кадра OpenGL был создан с правильными размерами, хотя странно, что я должен добавить это.

person Jon    schedule 22.09.2012