2015-09-02 10 views
14

L'applicazione iOS su cui sto lavorando ha una vista che deve essere bloccata con orientamento orizzontale. Fino a questo punto, ciò è stato ottenuto utilizzando i metodi shouldAutorotate e supportedInterfaceOrientations, ma su un iPad Air 2 in esecuzione iOS9 beta5, questi metodi non si attivano mai e l'orientamento non è bloccato.Impossibile bloccare l'orientamento su iPad Air 2

Ho provato sui seguenti dispositivi, metodi sparati su tutti tranne l'Air2 (in esecuzione debug con Xcode beta6): iPhone 6+, Mini iPad, iPad Air 2, iPad 2, iPad 3

I metodi non sparare sono i seguenti:

- (BOOL)shouldAutorotate { 
    return YES; 
} 

- (UIInterfaceOrientationMask)supportedInterfaceOrientations { 
    return UIInterfaceOrientationMaskLandscape; 
} 

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation { 
    return UIInterfaceOrientationMaskLandscapeRight; 
} 

View Controller viene visualizzato tramite presentViewController

risposta

22

Multitasking può essere disattivata aggiungendo il campo UIRequiresFullScreen al info.plist dell'applicazione con il valore booleano YES, e questo permetterà i metodi di orientamento delegato shouldAutorotate, preferredInterfaceOrientation, e supportedInterfaceOrientations al fuoco.

Per quanto riguarda l'orientamento di blocco E che supporta il multitasking, non ho trovato un modo per farlo.

+1

Amico, sei ... solo ... grazie! – Soberman

0

sto pensando questo è un danno collaterale con la funzione multi-tasking. Non potrai più supporre di essere il proprietario dell'intero schermo. Potrebbero esserci altri metodi da chiamare per disabilitare la modalità multi-tasking.

5

L'impostazione 'Richiede schermo intero' può essere abilitata da 'Generale' delle impostazioni di destinazione.

Requires full screen

Con questa abilitato, il codice di orientamento verrà eseguito. Come accennato da Ackerman91, puoi anche impostare UIRequiresFullScreen booleano su SÌ nell'applicazione info.plist o nella scheda "Informazioni" di destinazione.

Problemi correlati