У меня есть приложение, которое может начинаться в портретном или альбомном режиме. Элементы управления на главном экране выглядят по-разному в зависимости от того, в каком режиме это приложение.iPad не распознает правильную ориентацию интерфейса при запуске?
В этом случае проблема заключается в том, что если я запускаю приложение в ландшафтном режиме, контролирует arent там, где они должны быть, они сохраняют свои позиции, как приложение - портретный режим. Я попытался проверить это немного, и вот что я нашел -
in viewDidLoad и ViewWillappear Я получаю информацию о том, что приложение находится в портретном режиме, хотя приложение является ландшафтным режимом. По-видимому, он настроен на правильное значение - ландшафтный режим. Проблема в том, что я хочу, чтобы эти компоненты были установлены на их надлежащие позиции, прежде чем появится представление (если я не могу четко видеть, как они перемещаются на экране).
Что такое правильный способ справиться с этим?
EDIT: в viewDidLoad и ViewWillAppear, я называю это:
orientation = [self getOrientation];
if (orientation == OrientationsLandscape) {
NSLog(@"Landscape");
}
else {
NSLog(@"Portrait");
}
здесь является реализация [GetOrientation]
- (int) getOrientation {
int currentOrientation = [UIApplication sharedApplication].statusBarOrientation;
if (UIInterfaceOrientationIsPortrait(currentOrientation)) return OrientationsPortrait;
else return OrientationsLandscape;
}
и перечисления DEF:
typedef enum {
OrientationsLandscape = 0,
OrientationsPortrait
} Orientations;
Теперь, если устройство является ландшафтным режимом, и я пытаюсь установить мое приложение, я получу 2 раза печататься «Портрет», вместо «Пейзаж»
У меня такая же проблема, но только тогда, когда устройство находится лицом вверх. Если я держу его в руках, наклонен, ориентация распознается. Если я вызываю таймер, который выполняет тест после инициализации, он работает. Но между applicationDidFinishLaunching и моим таймерным звонком у меня есть короткий белый экран ... Вы нашли решение? – Martin
Я разместил решение здесь: http://stackoverflow.com/a/13763842/127493 – Martin