ViewController na mudança de orientação do UINavigationController

Então eu tenho a seguinte hierarquia:

UINavigationController -> RootViewController (UIViewController) ->UITableViewController -> DetailViewController (UIViewController)

Eu quero bloquear a orientação no RootViewController somente para retrato, mas deixar todas as orientações para os controladores de exibição de descanso.

Se eu colocar isso em subclasseUINavigationController:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

-(NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskPortrait;
}

Todos os controladores de visualização são então bloqueados para retrato.

Minha pergunta é, existe uma maneira de bloquear apenas RootViewController para Portrait, mas deixar todas as opções para outros controladores de exibição?

questionAnswers(5)

yourAnswerToTheQuestion