setStatusBarOrientation: animado: não funciona no iOS 6
Eu usei este código para forçar uma mudança de orientação para o retrato quando o usuário terminar de assistir ao vídeo (ele permite a visualização no modo paisagem), antes de remover o controlador de exibição de vídeo do controlador de navegação:
//set statusbar to the desired rotation position
[[UIApplication sharedApplication] setStatusBarOrientation:UIDeviceOrientationPortrait animated:NO];
//present/dismiss viewcontroller in order to activate rotating.
UIViewController *mVC = [[[UIViewController alloc] init] autorelease];
[self presentModalViewController:mVC animated:NO];
[self dismissModalViewControllerAnimated:NO];
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
Isso funcionou perfeitamente atéiOS 5.1.1
. Eu até tentei usar os novos métodos present / dismiss depois de ler em outro post que eles deveriam ser usados agora:
[self presentViewController:mVC animated:NO completion:NULL];
[self dismissViewControllerAnimated:NO completion:NULL];
O problema é que não funciona de todo. Depois de girar o visualizador de vídeo para paisagem e, em seguida, estourá-lo, minha visualização de configurações (controlador de exibição de tabela) volta, mas também no modo paisagem.
Eu até tentei a dicaAqui
"OsetStatusBarOrientation:animated:
O método não é totalmente obsoleto. No entanto, agora só funciona se osupportedInterfaceOrientations
O método do controlador de visualização em tela cheia na parte superior retorna 0. Isso coloca a responsabilidade de garantir que a orientação da barra de status seja consistente nas mãos do responsável pela chamada. "
Então eu experimentei definir uma bandeira para forçarsupportedInterfaceOrientations
parareturn 0
(antes de chamar o primeiro bloco de código acima), mas também não funciona.
Alguém tem uma solução para isso? Obrigado pelo seu tempo e esforço.