У меня очень странная проблема, которую я пока не могу диагностировать.
В моем приложении для iOS (это универсальный бинарный файл), когда я запускаю на iPad 4.3, ориентация при запуске несовместима.
Делегат приложения добавляет заставку (UIViewController) к главному окну, затем удаляет его и добавляет основной вид приложения. Именно этот основной вид является проблемой - примерно в половине случаев он корректно загружается в альбомной ориентации, а в другой половине - в портретном (хотя строка состояния и клавиатура находятся в горизонтальном положении).
Я немного растерялся относительно того, почему меняется ориентация при запуске, когда я не изменяю код или ориентацию симулятора / устройства.
У меня UIInterfaceOrientationLandscapeLeft и UIInterfaceOrientationLandscapeRight установлены как единственные поддерживаемые ориентации для iPad в Info.plist, и каждый контроллер представления использует следующее:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
// The device is an iPad running iPhone 3.2 or later.
if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight) {
return YES;
}
} else {
// The device is an iPhone or iPod touch.
if (interfaceOrientation == UIInterfaceOrientationPortrait) {
return YES;
}
}
return NO;
}
Может кто-нибудь помочь мне с этим ??
Приветствия
Олли