Scopri come sviluppare per l'iPhone

Oggi vi mostrerò come costruire una pagina alternativa e un foglio di stile per iPhone e iTouch. Tratteremo come rilevare se l'utente sta utilizzando un iPhone per visualizzare la pagina e l'orientamento del dispositivo, sia esso orizzontale o verticale. Per fare ciò utilizzeremo javascript e alcuni tag CSS specifici per cellulari di Safari.

Iniziare

Cominceremo con 2 psd creati e far lavorare quelli in una pagina di iPhone. Sto usando le immagini per lo sfondo e l'intestazione anche se potresti usare solo colori semplici anziché immagini. Il lato positivo di non usare le immagini è che ovviamente carica più velocemente, ma anche quando si passa da un paesaggio ad un ritratto le immagini richiedono un momento per caricarle, a seconda di quanto sono grandi. Puoi trovare i file psd di origine qui o puoi crearne uno tuo. Qualcosa da tenere a mente è che stiamo costruendo una pagina specifica per iPhone o iTouch. Se non hai il dispositivo da solo, puoi scaricare l'iPhone SDK gratuitamente da Apple e include un simulatore iPhone. se si desidera rilevare l'iPhone sulla pagina del browser standard e caricare l'iPhone css e html tramite istruzioni condizionali o inviare l'utente a una pagina completamente diversa, utilizzare il seguente codice:

 

Il codice sopra spiegato:

  • Riga 2: crea una variabile che contiene il tipo di browser dell'utente (tra le altre cose)
  • Riga 3: Assegna al browser un valore se il browser iPhone è presente.
  • Riga 4 - 8: un'istruzione if che reindirizza l'utente a una "pagina formattata iPhone" se la variabile "users_browser" restituisce un valore (ovvero l'utente sta utilizzando un iPhone o iTouch per visualizzare la pagina corrente).

Sotto il codice verranno utilizzate le istruzioni condizionali html per nascondere il codice da un normale browser.

     

Passaggio 1: HTML

Quindi ora sappiamo come indirizzare l'utente sulla tua pagina iPhone se si trova su un dispositivo iPhone o iTouch. Ora inizieremo a lavorare sulla pagina HTML di iPhone; il codice seguente presenta alcune differenze chiave rispetto a un normale documento transitorio XHTML.

     La mia pagina iPhone  

Il codice sopra spiegato riga per riga:

  • Riga 1 - 5: Questo è il tipo di documento transitorio XHTML standard 1.0. Niente di speciale ancora.
  • Linea 6: questa linea è specifica per iPhone e iTouch. Imposta i valori iniziali per il viewport nel browser del dispositivo. width = device-width indica la larghezza della pagina in modo che abbia la stessa larghezza del dispositivo. scala iniziale e scala massima impostano il punto di partenza per lo zoom della pagina, la scala massima è la misura in cui il cane di pagina viene ridimensionato.
  • Riga 9: questo elemento di collegamento punta all'icona delle pagine Web. questo è usato quando un utente salva la pagina nella loro "schermata principale".
  • Riga 10: un elemento di collegamento punta al foglio di stile di iPhone. Questo elemento ha l'ID orient_css ad esso assegnato. Questo è così che possiamo indicarlo con javascript per cambiare il file css a cui punta quando si tratta di regolare il layout per l'orientamento del dispositivo.

Step 2: Laying Out Div

Ora continuiamo con il resto dell'html prima di aggiungere qualsiasi funzione javascript per il rilevamento dell'orientamento. Inizia con la fine della testa e poi avvia il corpo. Nell'elemento body si aggiunge onorientationchange = orient () ;. Quindi ho mentito, è un po 'di javascript, ma è necessario per chiamare la funzione "orient" (ne parleremo tra un po') quando il dispositivo rileva un diverso orientamento.

   

Questa è l'area di contenuto principale della pagina.

Usando css e javascript possiamo manipolare una qualsiasi di queste div usando un file css alternativo. I file CSS in questo progetto sono per le viste orizzontale e verticale.

Qualche altro testo di riempimento qui per dimostrare la pagina.

Passaggio 3: l'orientamento Javascript

Nella parte superiore della pagina dovrai inserire il codice visualizzato di seguito

 

switch (window.orientation) funziona con il metodo onorientationchange () nell'elemento body. Questo verificherà se la rotazione corrente è uguale al "valore del caso", se restituisce true eseguirà ciò che è dopo i due punti. Dopo che un orientamento è stato abbinato, esce da orient () ;. window.onload () esegue la funzione di orientamento al termine del caricamento della pagina.

Dopo ogni caso (valore): abbiamo javascript che punta all'id di elementi di collegamento a cui è collegato il nostro file css. A seconda del valore del caso, 0, 90 o -90 (c'è anche 180 ma non è supportato su iPhone in questo momento) il file css verticale o orizzontale è collegato al tag href nell'elemento link. 0 è verticale (verticale), 90 è orizzontale in senso antiorario. -90 è orizzontale ruotato in senso orario e 180 anche se non ancora supportato rappresenterebbe il dispositivo capovolto.

Passaggio 4: implementazione del CSS

Anche con tutto questo codice, la pagina non fa molto. Questo perché abbiamo bisogno di aggiungere immagini di sfondo e stile tutto. Creeremo 2 file CSS, uno chiamato iphone_portrait.css e un altro chiamato iphone_landscape.css. Inseriremo il file css portrait nell'elemento link come file css predefinito da utilizzare.

 body background-color: # 333; margin-top: -0px; margin-left: -0px;  #wrap overflow: auto; larghezza: 320px; altezza: 480px;  #header background: url (... /images/header.jpg); background-repeat: no-repeat; altezza: 149px;  #content background: url (... /images/middle.jpg); background-repeat: repeat-y; margin-top: -5px;  p margin: 5px; padding-left: 25px; larghezza: 270px; font-size: 10px; font-family: arial, "san serif";  #bottom background: url (... /images/bottom_corners.jpg); background-repeat: no-repeat; altezza: 31px; margin-top: -5px; 

Il codice sopra riportato è per il file iphone_portrait.css ed è piuttosto diretto. Alcune cose da notare sono:

  • nella overflow della descrizione di stile wrap: l'auto fa in modo che gli oggetti fluttuati siano mantenuti all'interno del div wrap per mantenere la pagina in ordine e in ordine.
  • le dimensioni della pagina sono 320 px di larghezza per 480 px di altezza. assicurati di dichiararlo nel div wrap.

Di seguito è riportato il codice da inserire nel file iphone_landscape.css. le uniche differenze tra i file css portrait e landscape sono le immagini di sfondo, le dimensioni del wrap sono invertite e i margini vengono adeguati di conseguenza.

 body background-color: # 333; margin-top: -0px; margin-left: -0px;  #wrap overflow: auto; larghezza: 480px; altezza: 320px;  #header background: url (... /images/l_header.jpg); background-repeat: no-repeat; altezza: 120px;  #content background: url (... /images/l_middle.jpg); background-repeat: repeat-y; margin-top: -5px;  p margin: 5px; padding-left: 25px; larghezza: 370px; font-size: 10px; font-family: arial, "san serif";  #bottom background: url (... /images/l_bottom_corners.jpg); background-repeat: no-repeat; altezza: 37px; margin-top: -5px; 

Se stai usando le mie immagini di sfondo a fette, la tua pagina dovrebbe apparire come l'immagine qui sotto quando sei in modalità verticale.

Oppure, in modalità orizzontale?

Dove andare da qui?

Quindi ora che hai una pagina formattata e disegnata per iPhone e iTouch, che altro puoi fare? Bene, se la tua pagina è pensata per essere più di un'app web potresti voler controllare lo IUI di Joe Hewitt, che è un framework che rende le tue pagine come app native per iPhone o iTouch. Ricorda inoltre che puoi impostare 3 file css specifici; in modo da poter avere un file css che disegna la pagina se è girata in senso orario in orizzontale e di nuovo in un altro file per quando è girata in senso antiorario in orizzontale. Ciò consentirà alcuni risultati interessanti. In bocca al lupo!