Контроллер модального вида вращается некорректно в iOS 5.1, а не в 5.0 - PullRequest
3 голосов
/ 14 марта 2012

У меня есть контроллер основного вида, который находится в альбомной ориентации (все приложение имеет альбомную ориентацию влево / вправо).

Этот основной вид представляет модальное представление с использованием:

ModalViewController *modalVC = [[ModalViewController alloc] init];
[modalVC setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
[self presentModalViewController:modalVC animated:YES];

В iOS 5.0 * это работает точно так, как я и ожидал, основной вид в альбомной ориентации, а модальный вид - в горизонтальной.

В iOS 5.1 основной вид мгновенно поворачивается на 90º влево, а модальный видзатем появляется также повернутый на 90º и обрезанный.Когда модальное представление отклонено, основное представление возвращается и становится нормальным и в альбомной ориентации.

Я пробовал все виды мутаций shouldAutorotateToInterfaceOrientation, и это не имеет никакого эффекта.Я оставил это так:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationLandscapeRight) || (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}

Я просто не могу понять это, никогда не возникало проблем, пока я просто не установил iOS 5.1 на свой iPhone и не запустил приложение в первый раз.it.

Заранее спасибо!

* Это подтверждается при использовании симуляторов iPhone 5.0 и 5.1

1 Ответ

0 голосов
/ 18 апреля 2012

Убедитесь, что вы показываете модальный контроллер вида (без анимации) и перед тем, как сделать это:

[window makeKeyAndVisible]

Так что звоните

[uiviewcontroller presentViewController:modalViewController animated:NO completion:nil];
[window makeKeyAndVisible];
...