Модальное представление Xcode для iOS 6 должно указывать и не поддерживаться.

Я написал эту часть кода в классе appDelegate для управления ориентацией моего приложения.

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
    NSUInteger orientations = UIInterfaceOrientationMaskAll;

    if (self.window.rootViewController) {
        UIViewController* presented = [[(UINavigationController *)self.window.rootViewController viewControllers] lastObject];
        orientations = [presented supportedInterfaceOrientations];
    }
    return orientations;
}

И я использую этот код, чтобы зафиксировать свою ориентацию на портрете.

- (BOOL)shouldAutorotate
{
    return NO;
}
- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

Это работает на всех моих ViewController, выдвигаемых NavigationViewController, но не на ViewController, представленный модальным (мой модальный вид, кажется, не перезаписывает этот код).

Пример кода не работает, когда ViewController представлен модально. Мой ViewController (модальный вид) все еще находится в портретной ориентации.

- (BOOL)shouldAutorotate
{
    return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAllButUpsideDown;
}

0 ответов

Другие вопросы по тегам