2011-01-19 24 views
27

Ho fatto un po 'di sviluppo iPhone (attualmente 3 app nell'appstore) ma l'interfaccia è stata abbastanza semplice. Ho usato per la maggior parte i componenti di serie (UITableViewController, ecc.) Con un po 'di personalizzazione, ma per la maggior parte tutto sembra piuttosto generico. Mi piacerebbe iniziare a sviluppare app con un'interfaccia utente più ricca, ma non ho trovato alcuna buona risorsa per iniziare.Progettazione avanzata dell'interfaccia iOS?

Quali risorse avete incontrato per delineare come creare interfacce iOS più avanzate (sia iPhone che iPad)? Libri? Voci del blog? Solo guardando le app che ho installato in questo momento, alcune delle interfacce con cui sono rimasto molto impressionato sono ESPN Score Center, XFINITY TV, Facebook, ecc.

E le librerie di componenti dell'interfaccia di terze parti? C'è qualcuno che consiglia di fornire componenti di interfaccia più avanzati rispetto a quelli della libreria iOS di serie?

Mi piacerebbe dare un'occhiata a tutte le risorse consigliate per iniziare.

risposta

23

I love Ray Wenderlich's tutorial. Ne ha uno su Core Graphics che ti permette di disegnare le tue Visualizzazioni di tabella con intestazioni, pulsanti e piè di pagina con piega curva!

+0

Eccellente suggerimento! Sono rimasto molto colpito dal suo blog. In sostanza, questi sono il tipo di risorse che sto cercando. Ha fatto un ottimo lavoro nel spiegare come ottiene dal passaggio 1 al prodotto finito. – Shadowman

1

Mi piace anche Three20. Fino ad ora non l'ho usato nei miei progetti, ma ci ho giocato. E ci sono delle cose davvero interessanti. ;-) Penso che sia un modo per estendere le tue interfacce utente standard.

Un'altra parte davvero interessante è la progettazione di elementi personalizzati. Mi piace davvero. Perché tu hai nella tua app qualcosa che nessun altro ha. :-D

+0

un commento per l'OP: hai citato facebook come una buona interfaccia utente, il framework Three20 * è * di che cosa è fatto facebook. –

+0

Un voto per Three20. Ho giocato in giro con la biblioteca in passato, e sono rimasto molto colpito. In effetti, ho usato i componenti del visualizzatore di foto in una delle mie applicazioni. – Shadowman

14

Ecco un piccolo segreto che spesso viene trascurato: molti degli elementi dell'interfaccia utente che vedi sono stock elementi Apple che sono stati personalizzati sull'orlo del non ritorno.

Il motivo principale di ciò è che Apple ha impiegato molto tempo e sforzi per realizzare componenti che funzionino perfettamente. Un UIScrollView, ad esempio, ha avuto molte più ore di test combinate rispetto a qualsiasi app che si possa sperare di ottenere.

Il trucco è sapere esattamente come personalizzare gli elementi. Un UITabBar è un buon esempio: ho visto diverse app che usano le loro tab barre personalizzate. Il problema è che spesso non gestiscono i casi limite particolarmente bene. Potresti avere problemi se qualcuno cerca di colpire due oggetti contemporaneamente (ho effettivamente visto un'app che ha usato la propria implementazione di un crash della barra delle tabulazioni se hai premuto due elementi contemporaneamente).

Ma se si utilizza l'UITabBarController di Apple e la sottoclasse, la categorizzazione o il sovraccarico per ottenere la personalizzazione desiderata, si ottengono gratuitamente molte risorse di gestione degli eventi di basso livello.

Si sarebbe stupito con quello che si può fare con un UITableViewController, e si ottiene le cose come vista riciclaggio gratuitamente (alcune delle applicazioni con cui ho lavorato sulla avere cose come il ridimensionamento delle cellule indipendenti, animazione personalizzata di cellule, implementazioni orizzontali di una tableview, ecc.).

Non è una risposta particolarmente utile, ve lo concedo, ma il punto che voglio passare qui è una volta che avete progettato la vostra interfaccia utente di kick-ass e considerate ciò che può essere ottenuto con il set di strumenti esistente prima di eseguire il rollover . Mi ringrazierai quando verrai a correggere i bug!

+2

Ok, questo ha detto: hai qualche risorsa che mostra come personalizzare gli elementi dell'interfaccia utente per ottenere un'interfaccia utente più ricca? – Shadowman

+0

Questa è davvero una buona risposta. Fai solo ciò che è veramente necessario. Non devi reinventare la ruota (come ho fatto più di una volta xD). –

+0

Concordato, ottima risposta. In effetti, in alcune delle letture che ho fatto sembra la risposta * ideale *, dato che devi solo scavalcare le cose che in realtà vuoi cambiare. Sono interessato solo ad alcune risorse che mostrano cosa è possibile quando si sostituisce un comportamento specifico in questi componenti per ottenere risultati più impressionanti. – Shadowman

1

ho iniziato a guardare in utilizzando Opacity for Mac, si tratta di un'applicazione desktop piuttosto pulito in cui è possibile generare i propri elementi grafici (pulsanti, interruttori, icone, ecc) e quindi generare automaticamente i/Quartz2D classi e le intestazioni per cadere in Cocoa Touch la tua app ... Alcuni elementi funzionano meglio quando sono disegnati in modo nativo sul dispositivo, piuttosto che memorizzati/caricati come PNG o altro. Inoltre, ricevi @ 2x Retina display support gratuitamente. Sebbene non sia un framework per l'interfaccia, il fatto che generi codice Quartz2D fa di questo un vero contendente per chiunque sia in remoto graficamente creativo ma con competenze di programmazione 2D complesse.

Parlando di bellissime interfacce, se stai cercando ispirazione o elementi grafici reali da inserire nell'interfaccia, ottengo spesso delle ottime idee allo 365psd ... in realtà forniscono i documenti di Photoshop per riprodurre alcuni oggetti UI strabilianti , gratuito. Alcuni posti possono solo darti un PNG, ma questo non funziona se vuoi ridimensionarlo (@ 2x o iPad) o personalizzarlo in base alle tue esigenze. È come l'open source per la progettazione grafica dell'interfaccia utente.