UITableView beginUpdates / endUpdates Rückruf

7

Ich mache Änderungen an einer TableView mit einem beginUpdates / endUpdates Block. Auf dem ganzen Weg muss ich einen Schlagschatten aktualisieren, so dass er die aktuelle Zusammensetzung der TabelleView widerspiegelt.

Ich habe versucht, KVO für die contentSize der TabelleView einzurichten, aber es wird nur endUpdates aufgerufen, sobald die Animation beendet ist. Ich möchte, dass es jedes Mal aufgerufen wird, wenn sich contentSize ändert (auch wenn es nur um ein Pixel geht). Gibt es einen Weg, dies zu erreichen?

    
samvermette 09.01.2012, 20:09
quelle

3 Antworten

0

Tut mir leid zu sagen, ich glaube nicht, dass Sie das tun können. Wenn Sie nach dem Aufruf von beginUpdates Änderungen an der Tabelle vornehmen, werden die Änderungen nach endUpdates als einzelne Animation animiert. Während dieser Animationen gibt es keine Animationsrückrufe. Ich habe das nicht ausprobiert, weiß also nicht, ob es dafür gut funktionieren würde, aber Sie könnten versuchen, beginUpdates und endUpdates zu verschachteln und Ihren Schatten nach jedem endUpdates zu aktualisieren.

    
XJones 10.01.2012, 00:50
quelle
24

Was ist damit?

%Vor%     
Rudolf Adamkovič 31.01.2013 18:16
quelle
1

Rudolfs Methode hat bei mir nicht so reibungslos funktioniert wie erwartet. In meinem Fall habe ich eine Zeile in UITableView mit dieser Option ausgewählt, und Rudolfs Methode hat dazu geführt, dass die Tabelle zwei Animationen mit ein wenig Einfrieren ausführt: die Animation in beginUpdates / endUpdates, ein wenig eingefroren und die Animation im Completion-Block.

%Vor%

das hat mich inspiriert, diesen Code zu erstellen ... und das funktioniert nahtlos:

%Vor%     
SpaceDog 29.05.2016 00:38
quelle

Tags und Links