Problemas de pilha de navegação do UINavigationController no modo paisagem

Eu tenho um aplicativo para iPhone que estou convertendo para umbinário universal para trabalhar com o iPad. Eu implementei com êxito tudo o que preciso em termos de layout, para que a funcionalidade de paisagem completa agora seja suportada no meu aplicativo (anteriormente eu usava principalmente o modo retrato para exibir o conteúdo).

Mas, eu tenho um problema estranho, que ocorre SOMENTE no modo paisagem: quando coloco um controlador de exibição na pilha, é precisoduas torneiras no botão voltar para retornar ao controlador de exibição anterior! O primeiro toque mostra uma exibição em branco, mas com o mesmo nome no botão de navegação traseiro esquerdo, o segundo toque leva o controlador de volta à exibição anterior como deveria.

Não tenho um iPad para testar, por isso estou confiando no simulador. O problema não aparece no iPhone e não aparece se você voltar ao modo retrato.

Meu aplicativo consiste em um tabbarcontroller com controladores de navegação carregados para seus vc's:

//application delegate
- (void)applicationDidFinishLaunching:(UIApplication *)application
//....
WebHelpViewController *vc8 = [[WebHelpViewController alloc] init];
UINavigationController *nv8 = [[UINavigationController alloc] initWithRootViewController:vc8];

[self.tabBarController setViewControllers:[NSArray arrayWithObjects:nv1,nv2,nv3,nv4,nv5,nv6,nv7,nv8,nil]];

Para implementar a capacidade de paisagem, o UITabBarController é substituído para autorotar automaticamente quando necessário:

//CustomTabBarController.m
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return [[(UINavigationController *)self.selectedViewController topViewController] shouldAutorotateToInterfaceOrientation:interfaceOrientation];
}

... funciona bem. Navego para novas visualizações usando esse método

SomeViewController *vc = [[SomeViewController alloc] init];
[self.navigationController pushViewController:vc animated:YES];
[vc release];

Isso é apenas um erro de simulação? Como corrijo esse problema?

questionAnswers(1)

yourAnswerToTheQuestion