Ho un'applicazione in cui ho un UITableView
con sezioni che sono scorrevoli sul lato tramite sectionIndexTitlesForTableView:
.Creare una barra di ricerca come nell'app Contatti iOS 7
Nel tableHeaderView
dello UITableView
voglio aggiungere uno UISearchBar
, che voglio comportarmi come quello che Apple sta usando nella loro nuova app Contatti in iOS7. Ma non riesco a farlo funzionare.
La barra di ricerca non è al 100% della larghezza dello schermo, ma ha il lato destro rispetto all'indice di sezione.
Le mie domande sono:
- Come faccio ad avere la larghezza della barra di ricerca al 100% quando è la
tableHeaderView
di unUITableView
che ha un indice di sezione visibile? - Come posso creare una transizione come nell'app Contatti di iOS 7 in cui la barra di navigazione si nasconde e lo sfondo grigio della barra di ricerca si estende fino alla barra di stato?
Ho provato parecchie cose già, inclusa l'aggiunta la barra di ricerca nella barra di navigazione, e l'utilizzo di UISearchBarController
, ma non riesco a trovare una buona documentazione sul sito web di Apple su come creare questo. Inoltre, la guida alla transizione da iOS6 a iOS7 non mi è stata di grande aiuto.
Qui ci sono due immagini che illustrano il mio problema:
la tua soluzione mette in evidenza i punti chiave. Ho seguito la tua strada e sono riuscito a localizzare la barra di ricerca in cima a tableView. L'unico problema che ho ora è .. quando il campo di testo della ricerca è focalizzato, la barra di ricerca andrà fino in cima, anche per coprire la barra di stato. Non so come posso aggiustarlo? – xialin
La migliore soluzione. Stavo pensando a come fare lo stesso con UITableViewController, ma la verità: è più semplice "costruire" UITableViewController e copiare il codice boilerplate, piuttosto che provare a sovrascrivere "scrollViewDidScroll" –