supportInterfaceOrientations не вызывается с iOS 7

Я искал ответ на это, но не могне могу найти ничего, что решило бы мою проблему.

Так вот'С проблемой: у меня есть пользовательский UINavigationController, при созданииsupportedInterfaceOrientations метод вызывается на rootViewController (поддерживает только портрет). Но при вставке другого ViewController в стек этот метод неВызывается на нажатой ViewController (поддерживает все, но в обратном порядке).

Я решил это, позвонив[self supportedInterfaceOrientations] вviewDidLoad-метод, но я думаю, чтоЭто не хороший способ решить проблему.

Я надеюсь, что вы можете помочь мне в этом вопросе.

Вот'Мой код я реализовал во втором viewController.

- (BOOL)shouldAutorotate {
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations {
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
        [[[UIApplication sharedApplication] delegate] setGlobalOrientationMask:UIInterfaceOrientationMaskAllButUpsideDown];
        return UIInterfaceOrientationMaskAllButUpsideDown;
    }
    else {
        [[[UIApplication sharedApplication] delegate] setGlobalOrientationMask:UIInterfaceOrientationMaskAll];
        return UIInterfaceOrientationMaskAll;
    }
}

Я думаю, что решение от johnMa должно нормально работать для большинства приложений, но в моем случаеЭто особая проблема, я думаю, но теперь я решил ее сам (не уверен, если этоЭто хорошо, но это работает).

Я реализовал- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated метод на моем навигационном контроллере-делегате.

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
    if (DEF_SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7")) {
        if ([viewController respondsToSelector:@selector(supportedInterfaceOrientations)]) {
            [viewController supportedInterfaceOrientations];
        }
    }
}

Я надеюсь, что это может помочь другим с той же проблемой.

Ответы на вопрос(3)

Ваш ответ на вопрос