IOS 6 força a orientação do dispositivo para paisagem

Eu dei um aplicativo com 10 controladores de visualização. Eu uso o controlador de navegação para carregar / descarregar.

Todos, exceto um, estão no modo retrato. Suponha que o 7º VC esteja na paisagem. Eu preciso que seja apresentado na paisagem quando é carregado.

Por favor, sugerir uma maneira de forçar a orientação ir de retrato para paisagem no IOS 6 (e também será bom trabalhar no iOS 5).

Aqui está como eu estava fazendo issoANTES IOS 6:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    UIViewController *c = [[[UIViewController alloc]init] autorelease];
    [self presentModalViewController:c animated:NO];
    [self dismissModalViewControllerAnimated:NO];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

Apresentar e dispensar um VC modal estava forçando o aplicativo a rever sua orientação.shouldAutorotateToInterfaceOrientation estava sendo chamado.

O que eu tentei no IOS 6:

- (BOOL)shouldAutorotate{
    return YES;
}
-(NSUInteger)supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskLandscape;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{
    return UIInterfaceOrientationLandscapeLeft;
}

Na carga, o controlador fica no retrato. Depois de rodar o dispositivo, a orientação muda apenas ok. Mas preciso fazer com que o controlador gire automaticamente para o modo paisagem ao carregar, assim o usuário terá que girar o dispositivo para ver os dados corretamente.

Outro problema: depois de girar o dispositivo de volta ao retrato, a orientação vai para retrato, embora eu tenha especificadosupportedInterfaceOrientations sóUIInterfaceOrientationMaskLandscape. Por que isso acontece?

Além disso,NENHUM de mais de 3 métodos estão sendo chamados.

Alguns dados (úteis):

No meu arquivo plist eu especifiquei 3 orientações - tudo menos de cabeça para baixo.O projeto foi iniciado no Xcode 4.3 IOS 5. Todas as classes incluindo xibs foram criadas antes do Xcode 4.5 IOS 6, agora eu uso a última versão.No arquivo plist, a barra de status está definida como visível.No arquivo xib (o que eu quero estar na paisagem), a barra de status é "None", a orientação é definida como paisagem.

Qualquer ajuda é apreciada. Obrigado.

questionAnswers(13)

yourAnswerToTheQuestion