Chciałbym wiedzieć, kiedy UITableView
zrobiono przewinięcie do dołu, aby załadować i wyświetlić więcej treści, coś w rodzaju delegata lub coś innego, aby powiadomić kontroler, kiedy tabela przewinęła się do dołu.
Czy ktoś o tym wie, pomóż mi, z góry dziękuję!
ios
uitableview
scroll
Son Nguyen
źródło
źródło
w delegacie tableview zrób coś takiego
CelC:
Szybki:
źródło
Zmodyfikowane neoneyes odpowiadają trochę.
Ta odpowiedź jest skierowana do tych z Was, którzy chcą, aby zdarzenie było uruchamiane tylko raz na każde puszczenie palca .
Odpowiednie w przypadku ładowania większej ilości treści od niektórych dostawców treści (usługa internetowa, podstawowe dane itp.). Zwróć uwagę, że to podejście nie uwzględnia czasu odpowiedzi z Twojej usługi internetowej.
źródło
dodaj tę metodę w
UITableViewDelegate
:źródło
Żadna z powyższych odpowiedzi nie pomogła mi, więc wymyśliłem to:
źródło
Użyj
– tableView:willDisplayCell:forRowAtIndexPath:
(UITableViewDelegate
metoda)Po prostu porównaj element
indexPath
z elementami w tablicy danych (lub jakimkolwiek źródłem danych, którego używasz w widoku tabeli), aby dowiedzieć się, czy ostatni element jest wyświetlany.Dokumenty: http://developer.apple.com/library/ios/documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UITableViewDelegate/tableView:willDisplayCell:forRowAtIndex :
źródło
UITableView
jest podklasąUIScrollView
iUITableViewDelegate
jest zgodna zUIScrollViewDelegate
. Dlatego pełnomocnik dołączony do widoku tabeli otrzyma zdarzenia, takie jakscrollViewDidScroll:
, i możesz wywołać metody, takie jakcontentOffset
w widoku tabeli, w celu znalezienia pozycji przewijania.źródło
Ładnie i prosto
źródło
w
Swift
możesz zrobić coś takiego. Następujący warunek będzie spełniony za każdym razem, gdy dojdziesz do końca widoku tabeliźródło
println("came to last row")
ten kod działa!Opierając się na odpowiedzi @Jay Mayu, która moim zdaniem była jednym z lepszych rozwiązań:
Cel C
Swift 2.x
źródło
Generalnie używam tego do załadowania większej ilości danych, kiedy ostatnia komórka zaczyna wyświetlać
źródło
Przyjmowanie doskonałych odpowiedzi Neoneye, ale szybko i zmiana nazw zmiennych.
Zasadniczo wiemy, że dotarliśmy do dołu widoku tabeli, jeśli wysokość
yOffsetAtBottom
jest większa niż wysokość zawartości tabeli.źródło
Oto kod wersji Swift 3.0.
źródło
Moim rozwiązaniem jest dodanie komórek przed spowolnieniem widoku tabeli przy szacowanym przesunięciu. Można to przewidzieć dzięki prędkości.
źródło
Odpowiedź Neoneye zadziałała najlepiej w przypadku Celu C, jest to odpowiednik odpowiedzi w Swift 3:
źródło
Chcę wykonać jakąś akcję na mojej dowolnej 1 pełnej komórce Tableviewcell.
Więc kod to link:
Niech to komuś pomoże.
źródło
Odpowiedź @ neoneye zadziałała dla mnie. Oto wersja Swift 4
źródło