#objective-c #cocoa-touch #xcode #ipad #landscape-portrait
#цель-c #cocoa-touch #xcode #iPad #альбомно-книжный #objective-c
Вопрос:
В моем приложении у меня есть условие запуска моего приложения только в альбомном режиме. поэтому для этого in будет поворачиваться в ориентацию интерфейса, которую я сделал таким образом:-
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
Но тогда и мое приложение сначала пытается загрузиться в портретном режиме, и в процессе экран выглядит растянутым. Я что-то упускаю? Пожалуйста, предложите. Любая помощь будет оценена
Спасибо,
Кристи
Ответ №1:
Вы говорите, что приведенный выше код находится в -(void)willRotateToOrientation
тогда, когда он должен быть помещен в -(BOOL)shouldRotateToOrientation
.
Предполагая, что это опечатка, установите поддерживаемые ориентации в файле Info.plist на LandscapeRight и LandscapeLeft.
Комментарии:
1. я сделал это, но все равно мое приложение при загрузке пытается загрузить экран в портретном режиме
2. По умолчанию файл.png загружается так, как ожидалось?
3. Ок, понял, и я должен написать эту строку в завершающем запуске applicationdid:-application.statusBarOrientation = UIInterfaceOrientationLandscapeRight; это сработало
Ответ №2:
Просто чтобы убедиться, что исправление Кристины в комментариях к другому ответу не пропущено:
application.statusBarOrientation = UIInterfaceOrientationLandscapeRight
Я добавил это в didFinishLaunching
функцию делегирования приложения, и, похоже, это принудительно обновляет view controller, который в моем случае гарантировал, что буфер кадров OpenGL был создан в правильных размерах, странно, что я должен это добавить.