Cosa serve per supportare multiple orientations nelle nostre apps iPhone e iPad ?

Ci sono tre cose che è necessario implementare per il supporto automatico dell’ orientamento nelle vostre applicazioni iPhone e  iPad:
1) Fornire immagini di lancio
2) Aggiornare le impostazioni Info.plist,
3) Attuare il metodo shouldAutorotateToInterfaceOrientation.
IMPORTANTE: Si raccomanda vivamente che l’applicazione supporti tutti gli orientamenti. Questo include portrait, portrait a testa in giù, sinistra e destra landscape. L’ iPad che richiede un orientamento deve supportare entrambe le varianti di tale orientamento.

1) fornire immagini di lancio (Provide Launch Images)

IMPORTANTE: Tutti file names sono “case sensitive”.
1.1) Applicazioni per iPhone (iPhone-only applications):
applicazioni solamente per iPhone possono avere solo una immagine di lancio. Deve essere in formato PNG e misura 320 x 480 pixel. Nomina tue immagini lancio del file come: default.png .
Per iPhone 4 ad alta risoluzione, è possibile includere un’ulteriore immagine di lancio. Dovrebbe essere in formato PNG e misurare 640 x 960 pixel. Nome : Default@2x.png.
Questa immagine verrà presa automaticamente dal iOS se la vostra applicazione è in esecuzione su un iPhone 4.
Nota: Se la vostra applicazione non è in esecuzione su un iPhone 4, e  fornite sia default.png e Default@2x.png, IOS rileverà automaticamente default.png come immagine di lancio.

1.2)
Applicazioni per iPad (iPad-only applications):
E’ necessario creare una immagine di lancio per ogni orientamento supportato nel formato PNG. Ogni immagine di lancio deve essere 1004 x 768 pixel (per quello orizzontale o landscape) o 748 x 1024 pixel (per il verticale o portrait).
Questi i nomi da utilizzar del Default launch image files:
  • Default-PortraitUpsideDown.png – upside-down portrait version.
  • Default-LandscapeLeft.png – left-oriented landscape version.
  • Default-LandscapeRight.png – right-oriented landscape version.
  • Default-Portrait.png – generic portrait version.
  • Default-Landscape.png – generic landscape version.
  • Default.png – default portrait launch. Its usage is strongly discouraged, use more specific launch images instead.
Nota: per applicazioni iPad-only, è solito fornire solo Default-Portrait.png e Default-Landscape.png. Le immagini di lancio più specifiche avranno la precedenza rispetto alle versioni generiche, per esempio Default-PortraitUpsideDown.png ha la precedenza sul file di immagine Default-Portrait.png per questo specifico orientamento.
Vedere il sito ios support :  “Providing Launch Images for Different Orientations” section on the iPad Programming Guide per magggiori informationi (in inglese).

1.3) Applicazioni universali sia iPhone che iPad (Universal application):
Include le immagini di lancio sia per iPhone e iPad. L’immagine lancio iPhone sarà ancora chiamata default.png e Default@2x.png. Assegnare un nome alla vostra immagine di lancio verticale per iPad  Default-Portrait.png (non utilizzare default.png come immagine iPad lancio verticale).

2) Aggiornare il vostro Info.plist Settings

Nel vostro Info.plist file:
  • Specificare i valori per le UISupportedInterfaceOrientations key per  gli orientamenti supportati.
  • Specificare i valori per le UIInterfaceOrientation key per l’orientamento di lancio iniziale.

3) Method shouldAutorotateToInterfaceOrientation

Questo metodo restituisce gli orientamenti che sono ammessi (Portrait, PortraitUpsideDown, LandscapeLeft e LandscapeRight). La chiamata a questo metodo non fa nulla in quanto la classe non dovrebbe modificare l’orientamento dinamico. 

Tale metodo non provoca la rotazione dell’interfaccia, ma decide solo se il dispositivo è abilitato a tale operazione.

Quindi, se si desidera modificare i fattori utilizzati per determinare se la rotazione è consentita, si dovrà creare una variabile di istanza.

Preparate il vostro header con qualcosa simile a questo:

@interface MyClassName : NSObject {
    BOOL canLandscape;
}

Nei vostri “other” method, settare il flag (canLandscape = YES;).

Nei vostri shouldAutorotateToInterfaceOrientation:, potete fare un  check di questo in modo che vi aiuti a decidere

if (canLandscape) {
    ...dosomethinghere...
}

PER I SITI WEB:
Rilevare l’orientamento del iPad CSS

Il iPad può essere tenuto in modalità portrait e landscape. Per migliorare la visualizzazione del tuo sito web in ciascuna di queste modalità chiamano semplicemente il vostro file CSS come segue: 

<link rel=”stylesheet” media=”all e (orientation:portrait)” href=”portrait.css”>
<link rel=”stylesheet” media=”all e (orientation:landscape)” href=”landscape.css”>

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*