3rd febbraio, 2009

Programmare correttamente l’orientamento della nostra applicazione iPhone

by Stefano Lodu

Una delle implementazioni più innovative che l’iPhone ha messo a disposizione è la possibilità di utilizzare l’iPhone sia in posizione orizzontale che in quella verticale. In questo piccolo tutorial cercheremo di sviluppare un’applicazione capace di adattare le nostre viste a seconda dell’orientamento grazie al suo sistema operativo e lla UIKit.

In un mio articolo precedente abbiamo visto come utilizzare la funzione shouldAutorotateToInterfaceOrientation impostando il valore di Return a YES permettendo cosi di gestire nel nostro applicativo la funzione di orientamento nel caso in cui il nostro utilizzatore muove l’iPhone nel sistema “portrait” o “landscape”.

Adesso cercheremo di entrare più nel dettaglio di queste funzioni per adattare (resize) la nostra applicazione e capire le impostazioni che dobbiamo utilizzare.

Innanzi tutto bisogna sapere che ci sono 4 tipi diversi di orientamento :

- UIInterfaceOrientationPortrait

- UIInterfaceOrientationPortraitUpsideDown

- UIInterfaceOrientationLandscapeLeft

- UIInterfaceOrientationLandscapeRight

Quando noi indichiamo nella nostra funzione semplicemente YES, attiviamo tutti e quattro i sistemi se vogliamo ad esempio invece attivare solo l’orientamento verticale (portrait) e quello orizzontale (landscape) sia destro che sinistro, dovremmo indicare la seguente procedura:


- (BOOL)shouldAutorotateToInterfaceOrientation;
(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationPortrait ||
interfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

fino a qui la procedura che ci e’ stata messa a disposizione da Apple e’ veramente molto semplice ora verifichiamo il tutto utilizzando però la parte grafica della nostra applicazione.

Disegnamo l’interfaccia utilizzando gli attributi di Autoresize.

http://www.iphoneandgo.org/download/iphone2009_1.flv

Per voi Sir. Lodux !

Developer . Objective-C | Add your comment

Leave A Reply