Ho una vista tabella con una barra di ricerca sopra. Il mio requisito è di non mostrare la barra di ricerca quando qualcuno apre la pagina, ma quando qualcuno fa scorrere il tavolo verso il basso, la barra di ricerca dovrebbe essere visibile.Mostra la barra di ricerca solo quando l'utente tira giù la tabella
11
A
risposta
22
Nel metodo viewDidAppear:
del controller, impostare la proprietà contentOffset (in UIScrollView) della vista tabella per nascondere la barra di ricerca.
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
self.tableView.contentOffset = CGPointMake(0, SEARCH_BAR_HEIGHT);
}
4
correlati a murat's answer, Ecco una versione più portatile e corretta che farà finita con compensazione animato sul carico vista (si presuppone la barra di ricerca ha una proprietà di uscita chiamato searchBar
):
- (void)viewWillAppear:(BOOL)animated
{
self.tableView.contentOffset = CGPointMake(0, self.searchBar.frame.size.height);
}
AGGIORNAMENTO:
Per adattarsi all'icona di ricerca nell'indice di sezione, è necessario implementare il seguente metodo, che ripristina l'offset di contenuto:
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title
atIndex:(NSInteger)index
{
index--;
if (index < 0) {
[tableView
setContentOffset:CGPointMake(0.0, -tableView.contentInset.top)];
return NSNotFound;
}
return index;
}
Problemi correlati
- 1. Tocca e tira giù una vista
- 2. Mostra sempre la barra di scorrimento nella tabella Bootstrap-responsive
- 3. Mostra la tastiera virtuale sull'attivazione della barra di ricerca di ricerca con SearchView
- 4. La barra di spostamento si sposta quando AdMob Interstital mostra
- 5. mostra la barra di avanzamento quando si preme usando git
- 6. Mostra risultati di ricerca precaricati?
- 7. Mostra testo nascosto durante la ricerca
- 8. Come mostrare searchResultsTableView quando la barra di ricerca è attivata?
- 9. Abilita pulsante di ricerca quando la stringa di ricerca è vuota nella barra di ricerca predefinita
- 10. Mostra solo la data più recente dalla tabella MySQL unita
- 11. ActionBar non mostra la barra di avanzamento
- 12. Come nascondere/Mostra barra di navigazione quando utente scorre su/giù
- 13. Mostra visualizzazione quando la barra degli strumenti viene compressa
- 14. La barra delle azioni mostra il menu a discesa quando solo un elemento nel menu
- 15. Comprime la barra delle azioni ma mostra solo quando RecyclerView visualizza completamente il primo elemento
- 16. Qual è la differenza tra barra di ricerca, barra di ricerca e controller di visualizzazione ricerca?
- 17. Aggiungere la barra di scorrimento alla tabella
- 18. La barra di valutazione Android mostra solo stelle piene, anche mezze stelle
- 19. Mostra la barra diretta in haml?
- 20. Come utilizzare l'animazione per animare la barra di ricerca
- 21. La barra di stato mostra su Android quando è visibile la tastiera
- 22. UISearchController dimsBackgroundDuringPresentation solo quando il testo di ricerca è vuoto
- 23. Esistono eventi della barra delle schede per notificare quando qualcuno nasconde/mostra la barra delle schede?
- 24. Nascondi barra dell'indice durante la ricerca di UITableView
- 25. UISearchBar non mostra la tastiera quando viene toccato
- 26. Come disattivare la tastiera quando preme la barra di ricerca su Swift?
- 27. La barra di valutazione mostra solo metà stelle anziché stelle complete
- 28. Emulatore Android che non mostra l'app - mostra solo la pelle
- 29. Mostra la struttura della tabella in SQL
- 30. Perché la barra di stato mostra ancora durante Default.png?
Utilizzo di viewDidAppear: può causare la modifica del contenuto contentOffset all'utente della app. Utilizzo di viewWillAppear: eseguirà la modifica prima che venga visualizzato qualcosa all'utente. – Shoerob
Puoi anche farlo in 'viewDidLoad' per farlo solo una volta inizialmente, e ricorda ancora il tuo posto in tableView quando ritorni alla vista (per esempio in un' UINavigationController'). – devios1