Wie Sie wissen, dass tableView begann scrollen
Ich habe eine Frage: gibt es eine Möglichkeit zum abfangen tableView
Bildlauf zum hinzufügen einer Aktion? Zum Beispiel meine prototype cell
hintergrund rot ist, berühren sich im inneren einer Zelle die Hintergrundfarbe beginnen blau und scrollen der tableView
hintergrund-Farbe Rückgabe rot.
Ist es möglich, dies zu tun?!
Vielen Dank im Voraus.
- Um zu klären,, Sie wollen wissen, wenn ein
UITableView
hat gescrollt? oder ist scrollen? - Ich muss wissen, Wann gescrollt wird, so kann ich hinzufügen, einige action!
Du musst angemeldet sein, um einen Kommentar abzugeben.
UITableView
erbt vonUIScrollView
undUITableViewDelegate
erstrecktUIScrollViewDelegate
.Besonders, die Sie interessieren können, der in
scrollViewDidScroll
Methode. Also, in IhremUITableViewDelegate
Umsetzung, fügen Sie die folgende Methode:scrollViewDidEndDecelerating
.scrollViewDidEndDragging
wird aufgerufen, wenn der Benutzer beendet das ziehen der Inhalt, aber das scrollen kann immer noch bewegen, nach dass.In der ViewController, der als Delegierter für den tableView, können Sie auch die delegate-Methoden einer scrollView. Diese wird aufgerufen, wenn der tableView wird gescrollt, da es enthält eine scrollView.
e.g:
Sind Sie besser, halten eine variable um z.B.
var isBackgroundColorRed: Bool = true
Und ein weiteres für die scroll-y-position beim festlegen der hintergrund Farbe blau. z.B.
Wenn Sie die Hintergrundfarbe auf blau setzen Sie den y-Versatz, um den contentView.Herkunft.y.
Dann in der Delegat für den tableview (die Unterklassen UIScrollView)
Versuchen Sie, diese zu Ihrem Projekt und zu aktualisieren, yur-bridging-header.
UIColor-CrossFade
Diese Technik wird Ihnen eine schöne UX eher als eine plötzliche hintergrund ändern.
CellForRow
ist eine Möglichkeit zu erkennen, Scrollrad, die auch gibt Ihnen dieindexPath.row
der nächsten Zelle betreten den Blick. Wenn der Benutzer führt einen Bildlauf auf einer so kurzen Entfernung, dass eine neue oder wiederverwertete Zelle ist nicht einmal konfiguriert, dann ziehen, werden nicht erkannt. Aber auch mit integrierten Methoden, wiescrollViewWillBeginDragging
kurze Entfernung von Blättern wird nicht erkannt.cellForRowAtIndexPath
wird wiederholt aufgerufen, wenn Sie einen Bildlauf durch die tableView, es sei denn, Sie haben sehr wenige Anzahl von Zeilen.