Como ditamos a orientação do aplicativo no iOS 8?
No iOS 7, dissemos:
// ViewController1:
-(NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
-(BOOL)shouldAutorotate {
return YES;
}
// ViewController2, presented by modal segue from button in ViewController1
-(NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
-(BOOL)shouldAutorotate {
return YES;
}
O resultado foi que o aplicativo apareceu em paisagem no controlador de exibição 1 e em retrato no controlador de exibição 2.
Esse código funciona bem no iOS 7, incluindo os simuladores do iOS 7 no Xcode 6. Mas não funciona mais no iOS 8. Há dois problemas:
A visualização do View Controller 1 está aparecendo em paisagem, mas o simulador não está girando automaticamente (pode ser apenas um bug do simulador) e (esta é a parte realmente importante), a visualização não é redimensionada automaticamente, por isso é muito estreita para a tela ( há uma grande área preta à sua direita).
A vista do View Controller 2 está aparecendo na mesma orientação que a vista do View Controller 1 (paisagem, não retrato).
Portanto, as visualizações do controlador de visualização não são redimensionadas automaticamente para preencher a tela e as orientações suportadas pelo controlador de visualização apresentado não estão sendo respeitadas.
Então, como devemos fazer isso agora? Isso tem a ver com coleções de características? Com tamanho de conteúdo preferido? Com a definição manual da orientação da barra de status?