Questo errore non ha senso, come l'orientamento preferito UIInterfaceOrientationLandscapeRight
viene restituito dall'orientamento supportatopreferredInterfaceOrientationForPresentation deve restituire un orientamento interfaccia supportata
//iOS6
-(BOOL)shouldAutorotate
{
return NO;
}
-(NSUInteger)supportedInterfaceOrientations
{
return (UIInterfaceOrientationLandscapeRight | UIInterfaceOrientationLandscapeLeft);
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscapeRight;
}
errore:
terminazione app causa eccezione non identificata 'UIApplicationInvalidInterfaceOrientation', motivo: 'preferredInterfaceOrientationForPresentation deve restituire un orientamento di interfaccia supportato !'
Sto trovando questo per provocarmi dolore! Dispongo di un codice di visualizzazione del ViewController universale per l'app e uso il test del codice sopra per l'idioma dell'utente. l'ipad deve essere solo orizzontale e il ritratto iphone per tutti quelli che devono essere panoramici. Non riesco a ottenere questo per fornire gli orientamenti corretti a – user7865437
Si noti che è la parte "Maschera" di "UIInterfaceOrientationMaskLandscape" che è la parte importante di questa risposta. L'utente del poster originale ha sbagliato enum nel suo metodo. Sembra un po 'sciocco che Apple abbia creato un nuovo set di enum/opzioni per questo metodo che porta le persone a fare questo semplice errore - inoltre Xcode non fornisce nemmeno il controllo del compilatore perché il metodo restituisce NSUInteger. –
@lms, La mia intera applicazione dovrebbe supportare solo per la modalità Ritratto eccetto una vista (che deve supportare Landscape). In Plist ho impostato l'orientamento solo per Portrait e ho scritto sopra il codice in cui voglio cambiare l'orientamento per Landscape. Ma sta dando sia UIInterfaceOrientationLandscapeRight o UIInterfaceOrientationLandscapeLeft. Ma voglio sia a mio avviso. Puoi sapere come posso ottenerlo. –