Domanda

Quello che sto cercando di fare è replicare NSTokenField come UITextField visto nell'app Mail e Messaggi (digita un contatto e viene fornito con suggerimenti).

Ho il completamento automatico del completamento automatico, quando si digita un UITextField, si apre un UITableView che mostra tutte le corrispondenze che può trovare in un array, quando si fa clic su uno lo aggiunge a UITextField. Sono davvero contento di questo finora.

Il problema che ho riscontrato ora è rendere i controlli simili a quelli delle app native. Dopotutto, il design è tutto!

La mia prima domanda è come posso aggiungere quell'ombra all'UITableView? Sembra che sia affondato dietro l'UITextField.

In secondo luogo, so che dovrò sottoclassare UITextField per farlo sembrare come vorrei, ma non ho idea da dove cominciare. Alcuni puntatori o un campione sarebbero fantastici!

Infine, penso di dover creare un UIButton personalizzato con spazio per il testo e il gradiente blu, quindi aggiungerlo a UITextField. Stesso problema con UITextField, non sono sicuro di come sottoclasse UIButton (quali metodi deve disegnare e roba) o come aggiungerlo a UITextField in modo tale che quando si fa clic su backspace in UITextField, il pulsante essere evidenziato, quindi eliminato se si fa di nuovo clic su backspace (esattamente come funziona NSTokenField).

Ho incluso un'immagine solo per poter vedere di cosa sto parlando: http://www.thermoglobalnuclearwar.com/stuff/mail.jpg

Ho dato un'occhiata al progetto Joe Hewitts Three20 ma non sono riuscito a capirlo. Vorrei iniziare molto semplicemente e capire tutto quello che sta succedendo piuttosto che trascinare il suo codice nel mio e non avere idea di cosa stia succedendo!

Qualsiasi aiuto è molto apprezzato!

Grazie, Tom.

È stato utile?

Soluzione 2

Okay, ho l'ombra al di sotto di UITextField e ho aggiunto " A: " etichetta ad esso. Sembra fantastico!

Quindi l'ultima cosa è il controllo NSToken blu. Ho iniziato a pensare che la cosa più semplice sia semplicemente sottoclassare un UIView e disegnare il gradiente blu e l'etichetta al suo interno. Il che mi porta ad alcune altre domande:

Ho trovato questo: http://github.com/leonho/iphone-libs / tree / master che disegna una bella vista arrotondata e l'ho adattato per aggiungere del testo piuttosto che un numero, quello che non so fare è disegnare un gradiente invece di un blocco solido di colore.

Dopodiché c'è solo la questione di aggiungere le viste arrotondate a UITextField, spostare il cursore e capire come eliminare le viste quando il cursore le raggiunge, ma lo affronterò quando necessario.

Altri suggerimenti

Hai preso in considerazione l'utilizzo della libreria Three20 ? Contiene un controllo che penso faccia quello che vuoi (TTPickerTextView).

Come afferma la descrizione del sito web

  

TTPickerTextField è un UITextField all'avanguardia . Mentre digiti, cerca un'origine dati e   aggiunge bolle nel flusso di testo quando si sceglie un'opzione di digitazione. Lo uso in   TTMessageController per la selezione dei nomi dei destinatari dei messaggi.

Come minimo il codice sorgente potrebbe darti alcuni suggerimenti su come ottenere i vari effetti visivi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top