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”>