Представление модального контроллера вида принудительно в альбомной ориентации - PullRequest
1 голос
/ 03 июля 2011

Я представляю контроллер модального представления, подобный этому, из табличного представления (игнорируйте утечки памяти, просто проверяйте ..):

[self presentModalViewController:[[SignatureVC alloc] init] animated:YES];

и в моем SignatureVC я реализую это:

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

Я хочу, чтобы SignatureVC был только в ландшафтном режиме. Однако после представления контроллера модального вида ориентация не меняется. Что я делаю неправильно? Спасибо.

Ответы [ 3 ]

2 голосов
/ 03 июля 2011

Метод -shouldAutorotateToInterfaceOrientation: не поворачивает ориентацию интерфейса.Это просто позволяет ориентации интерфейса вращаться, если ориентация устройства вращается.

Если модальное изображение появляется, когда устройство находится в портретном режиме, то оно будет в портретном.Однако после поворота на landscapeLeft он останется заблокированным в этой ориентации с этим кодом.

Чтобы принудительно повернуть интерфейс, вы можете использовать

[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;
0 голосов
/ 17 февраля 2017

Попробуйте это

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}

-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {
    return UIInterfaceOrientationPortrait;
}

-(BOOL)shouldAutorotate {
    return NO;
}
0 голосов
/ 21 ноября 2012
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationMaskLandscape;
}

Может сделать магию для приложений с минимальной целью развертывания IOS 6.0

...