Controlador Tabbar com orientação de controladores de navegação ios 6

Eu estou atualmente trabalhando em um projeto onde temos um controlador de barra de abas com 4 abas, e onde cada aba tem um controlador de navegação. Em cada um desses controladores de navegação, há vários viewcontrollers pressionados.

Eu li muito post aqui e em outros lugares, e atualmente fizemos o seguinte:

UITabbarcontroller subclassado

- (BOOL)shouldAutorotate
{

    return [[[self.viewControllers objectAtIndex:self.selectedIndex]topViewController] shouldAutorotate];

}

- (NSUInteger) supportedInterfaceOrientations
{
    return [[[self.viewControllers objectAtIndex:self.selectedIndex]topViewController]supportedInterfaceOrientations];
}

- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
    return [[[self.viewControllers objectAtIndex:self.selectedIndex]topViewController] shouldAutorotateToInterfaceOrientation:toInterfaceOrientation];
}

Este trabalho funciona bem, se em cada um dos nossos controladores de visualização especificarmos o seguinte:

- (NSUInteger) supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskPortrait;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
    return YES;
}

Isso irá bloqueá-lo para retrato conforme o esperado.

Mas agora o problema real ocorre! Se no nosso viewcontroller em uma das abas especificarmos que ele deve rodar para paisagem funciona bem, mas quando a gente muda de aba ainda está na paisagem, o que não é o que a gente quer!

Então, para resumir, alguém tem uma solução para como você bloqueia quase todas as visões de uma determinada orientação, e pode mudar as abas onde elas estão na orientação que você especificou (aqui retrato)?

Eu também li este postiOS 6 UITabBarController suportou orientação com o controlador UINavigation atual, mas como um comentário também mencionou "Isso está quase funcionando para mim. O problema é se eu já estou na paisagem quando eu alterno as guias para um retrato só vejo que ainda está na paisagem. Girando retrato corrige e não vai girar de volta para paisagem, mas eu ainda preciso estar em retrato quando carrega pela primeira vez "que quase é o mesmo aqui ..

questionAnswers(1)

yourAnswerToTheQuestion