Mam widok tabeli z paskiem wyszukiwania na wierzchu. Moim wymaganiem jest nie pokazywać paska wyszukiwania, gdy ktoś otwiera stronę, ale gdy ktoś ślizga tabelę, pasek wyszukiwania powinien być widoczny.Wyświetlanie paska wyszukiwania tylko, gdy użytkownik ściąga tabelę
11
A
Odpowiedz
22
W metodzie sterownika viewDidAppear:
, ustaw właściwość contentOffset (w UIScrollView) widoku tabeli, aby ukryć pasek wyszukiwania.
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
self.tableView.contentOffset = CGPointMake(0, SEARCH_BAR_HEIGHT);
}
4
Podobne do murat's answer, tutaj jest bardziej mobilny i poprawna wersja, która będzie pozbyć się animowane potrącenie na widoku obciążenia (zakłada pasek wyszukiwania ma właściwość wylotową nazwie searchBar
):
- (void)viewWillAppear:(BOOL)animated
{
self.tableView.contentOffset = CGPointMake(0, self.searchBar.frame.size.height);
}
AKTUALIZACJA:
Aby umożliwić stukanie w ikonę wyszukiwania w indeksie sekcji, należy zastosować następującą metodę, która przywraca przesunięcie treści:
- (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;
}
Powiązane problemy
- 1. Wyświetlanie paska wyszukiwania UISearchController programowo
- 2. Rosnące nagłówek w UITableView jako użytkownik ściąga
- 3. Wykrywanie, kiedy użytkownik ściąga kontrolkę reklamową w aplikacji HTML5/JavaScript?
- 4. Dostosowywanie paska wyszukiwania Android,
- 5. Ukrywanie/wyświetlanie paska przewijania siatki Kendo
- 6. Jak obsługiwać zdarzenie TextChanged tylko wtedy, gdy użytkownik przestaje pisać?
- 7. Przełącz wyświetlanie podmenu tylko wtedy, gdy kliknięto nadrzędny li
- 8. Android: Wyświetlanie pozycji menu paska czynności w zależności od ViewPagera
- 9. Wyświetlanie paska postępu w wyskakującym okienku
- 10. Aktywacja paska wyszukiwania nie powoduje ukrycia paska nawigacji
- 11. Zwiększanie szerokości paska wyszukiwania Bootstrap formularz
- 12. Android - wyświetlanie tekstu na środku paska postępu
- 13. Wysokość ciała 100% wyświetlanie pionowego paska przewijania
- 14. kodowanie paska wyszukiwania z ikoną wewnątrz niego
- 15. Podaj półokrągły kształt do paska wyszukiwania
- 16. Zatrzymaj bieżące zdarzenie scrollTo, gdy użytkownik przewija
- 17. Jak rozpocząć wyświetlanie sugestii od razu w Androidzie do wyszukania, zanim użytkownik zaczął już pisać
- 18. Wyświetlanie paska postępu podczas pobierania pliku z serwera
- 19. Znajdź tabelę, gdy znasz nazwę kolumny?
- 20. Funkcja wyszukiwania paska zadań nie zamyka się po wyszukiwaniu
- 21. Wyzwalanie zdarzenia, gdy użytkownik odejdzie od użytkownika
- 22. Wyświetlanie pozycji menu tylko w trybie debugowania?
- 23. twig: wyświetlanie zmiennej tylko jeśli istnieje
- 24. wybrać tylko wtedy, gdy pusty
- 25. Wyświetlanie sugestii dla pustego SearchView
- 26. HTML5 Wyświetlanie dźwięku tylko odtwarzanie przycisków pauzy i wyciszenia
- 27. Uzyskaj wartość paska wyszukiwania Android i wyświetlić go na ekranie
- 28. Jak zapisać nieskończony stos zawartości AJAX, gdy użytkownik opuszcza stronę?
- 29. Jak zoptymalizować tabelę tylko w przypadku szybkich wstawek?
- 30. Kompozytor bardzo wolno ściąga podczas pobierania Laravel
Używanie viewDidAppear: może spowodować, że zmiana contentOffset stanie się widoczna dla użytkownika aplikacji. Korzystanie z metody viewWillAppear: spowoduje wprowadzenie zmiany, zanim cokolwiek zostanie wyświetlone użytkownikowi. – Shoerob
Możesz również zrobić to w 'viewDidLoad', aby zrobić to tylko raz na początku i nadal pamiętać swoje miejsce w tableView po powrocie do widoku (na przykład w' UINavigationController'). – devios1