Jak ustalić, czy użytkownik przewinął do ostatniej komórki/dolnej części UITableView?Jak ustalić, czy użytkownik przewinął do dolnej części UITableView?
11
A
Odpowiedz
28
UITableView dziedziczy od UIScrollView i przewijać widok naraża contentOffset
nieruchomości (dokumentacja here).
Użyj tego z odrobiną matematyki, aby określić, czy contentOffset znajduje się w zakresie od frame.size.height
od dołu.
Aktualizacja: oto stab w formule, która da Ci to, co chcesz:
if(tableView.contentOffset.y >= (tableView.contentSize.height - tableView.frame.size.height)) {
//user has scrolled to the bottom
}
5
Użyj NSArray *paths = [tableView indexPathsForVisibleRows];
. Następnie sprawdź, czy ostatnim obiektem w tej tablicy jest indexPath dla ostatniej komórki.
Źródło: Another Question
1
Dzięki nowszych wersjach iOS, istnieje prosty sposób z funkcją willDisplayCell:
func tableView(tableView:UITableView, willDisplayCell cell:UITableViewCell, forRowAtIndexPath indexPath:NSIndexPath) {
if (indexPath.row >= tableView.numberOfRowsInSection(0)) {
NSLog("User got to bottom of table")
}
}
Uwaga że UICollectionViews mają podobną funkcję:
func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath) {
}
Powiązane problemy
- 1. Jak ustalić, czy użytkownik przewinął do końca NSTableView
- 2. iOS - viewForFooterInSection przykleja się do dolnej części UITableView
- 3. Dodaj komórkę do dolnej części UITableView w iOS
- 4. Załaduj więcej treści, gdy użytkownik przewinie "blisko" dolnej części strony?
- 5. Jak sprawdzić, czy JScrollBar dotarł do dolnej części JScrollPane?
- 6. Stick div do dolnej części okna przeglądarki
- 7. Trzymaj się dolnej części StackPanel
- 8. Automatyczne przewijanie do dolnej części obszaru tekstowego
- 9. DIV dołączony do dolnej części rzutni
- 10. Jak ustalić, czy użytkownik nacisnął przycisk UITableViewCell na 2 sekundy?
- 11. Jak załadować disqus po przewinięciu do dolnej części strony?
- 12. Strzałka w dolnej części okna dialogowego jQuery
- 13. Jak ustalić, czy użytkownik anuluje subskrypcję Google Play?
- 14. Ustawianie podstawowej stopki do UITableView
- 15. Wyrównanie wielu elementów div do dolnej części jednostki nadrzędnej
- 16. Jak mogę ustalić, czy użytkownik ma zainstalowaną aplikację na iOS?
- 17. Wyrównaj obraz do dolnej części elementu pływającego po lewej stronie
- 18. jQuery Przewiń do dolnej części Div nawet po aktualizacji?
- 19. sposób wyrównania zestawu przycisków do dolnej części ekranu w Androidzie
- 20. onClick przejdź do dolnej części strony, używając jQuery .animate
- 21. Dodatkowy margines 5px dodawany do dolnej części każdego div
- 22. jak sprawdzić, czy użytkownik jest w części administracyjnej drupala?
- 23. Jak odznaczyć komórkę uitableview, gdy użytkownik wraca do kontrolera widoku?
- 24. Rosnące nagłówek w UITableView jako użytkownik ściąga
- 25. ios UICollectionView w górnej/dolnej części między komórkami
- 26. Jak dodać linię 1dp do dolnej części mojej komórki widoku tekstowego (nie do układu tabeli)?
- 27. HTML: Element bloku kotwicy wewnątrz dolnej części bloku nadrzędnego?
- 28. ASP.Net MVC, jak ustalić, czy użytkownik może uzyskać dostęp do adresu URL?
- 29. align div w dolnej części innego div za pomocą CSS
- 30. W jaki sposób można użyć jQuery zmierzyć, jak daleko przewinął użytkownik?
co to jest matematyka? –
dodano formułę, której możesz użyć ... –
Kod prawie już istnieje! Mogę wykryć dno, ale kiedy dojdę do dna, kod w bloku if zostanie wywołany wiele razy, jeśli użytkownik trzyma pozycję przewijania. Jak mogę rozwiązać? –