Wie Sie wissen, dass TableView mit dem Scrollen begonnen hat

8

Ich habe Zweifel: Gibt es eine Möglichkeit, ein tableView Scrolling abzufangen, um eine Aktion hinzuzufügen? Zum Beispiel ist mein prototype cell Hintergrund rot, berühre innerhalb einer Zelle seine Hintergrundfarbe blau und scrolle die tableView Hintergrundfarbe zurück rot. Ist es möglich, das zu tun?!

Vielen Dank im Voraus.

    
Fabio Cenni 28.08.2015, 10:27
quelle

5 Antworten

24

UITableView erbt von UIScrollView und UITableViewDelegate erweitert UIScrollViewDelegate .

Besonders interessiert Sie vielleicht scrollViewDidScroll Methode. Fügen Sie in Ihrer UITableViewDelegate -Implementierung die folgende Methode hinzu:

%Vor%     
redent84 28.08.2015, 10:54
quelle
0

Im ViewController, der als Delegat für die TableView festgelegt ist, können Sie auch die Delegate-Methoden einer scrollView festlegen. Diese werden aufgerufen, wenn die TableView gescrollt wird, da sie eine scrollView enthält.

z.B.:

%Vor%     
Swinny89 28.08.2015 10:33
quelle
0

Es ist besser, eine Variable um z.B. var isBackgroundColorRed: Bool = true

Und ein anderer für die Bildlaufposition y, wenn Sie die Hintergrundfarbe auf blau setzen. z.B.

%Vor%

Wenn Sie die Hintergrundfarbe auf blau setzen, stellen Sie den y-Offset auf den Inhalt von View.origin.y ein.

Dann im Delegaten für die Tabellenansicht (welche Unterklassen UIScrollView)

%Vor%

Fügen Sie dies Ihrem Projekt hinzu und aktualisieren Sie Ihren Bridging-Header. UIColor-CrossFade

Diese Technik wird Ihnen eine schöne UX anstelle einer plötzlichen Hintergrundänderung geben.

    
jarryd 28.08.2015 13:48
quelle
0

CellForRow ist eine Möglichkeit, das Scrollen zu erkennen, wodurch Sie auch indexPath.row der nächsten Zelle erhalten, die in die Ansicht eintritt. Wenn der Benutzer eine so kurze Strecke scrollt, dass eine neue oder recycelte Zelle nicht konfiguriert ist, wird das Ziehen nicht erkannt. Aber auch mit eingebauten Methoden , wie zB scrollViewWillBeginDragging , wird das Scrollen über kurze Strecken nicht erkannt .

%Vor%     
ScottyBlades 04.09.2017 18:49
quelle
-1

cellForRowAtIndexPath wird beim Scrollen der TableView wiederholt aufgerufen, es sei denn, Sie haben sehr wenige Zeilen.

    
Rohit Kumar 28.08.2015 12:43
quelle

Tags und Links