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?
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.
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.
das hat mich inspiriert, diesen Code zu erstellen ... und das funktioniert nahtlos:
%Vor%Tags und Links iphone uitableview ios animation