0

В iOS после отклонения контроллера модального вида (который вынужден показывать только в портретной ориентации), если устройство удерживается в ландшафтном режиме, контроллер вида, который представил контроллер модального представления, Правильно поверните назад к ландшафту.Проблемы с ориентацией на ландшафтность iOS 6

Метод 'willAnimateRotationToInterfaceOrientation' вызывается так, что я могу управлять поворотом моих подпрограмм и т. Д., Но тогда фактический контроллер просмотра не вращается в ландшафт. Таким образом, мои подвид выглядят так, как будто они должны быть в пейзаже, но интерфейс находится в портретном режиме.

Досадно, что он отлично работает в симуляторе iOS 5. То есть. После отклонения контроллера модального представления контроллер представления представления поворачивается обратно в альбомную ориентацию.

Кто-нибудь испытал что-то подобное, или у вас есть идея, как подойти к этому?

+1

В iOS 6 у вас есть новые методы управления ориентацией 'shouldAutorotate',' supportedInterfaceOrientations' и 'preferInterfaceOrientationForPresentation' –

ответ

0

Для IOS 6 u необходимо обрабатывать ориентацию с помощью этих методов.

- (BOOL)shouldAutorotate; { 
    return YES; 
} 

- (NSUInteger)supportedInterfaceOrientations; { 
    if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){ 
     return (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown); 
    } 
    else{ 
     return UIInterfaceOrientationMaskLandscape; 
    } 
} 

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation; { 
    if([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone){ 
     return UIInterfaceOrientationPortrait; 
    } 
    else{ 
     return UIInterfaceOrientationLandscapeLeft; 
    } 
} 
Смежные вопросы