Ich lade einige Zellen in meiner Tabellenansicht neu. Nach dem Neuladen möchte ich einen Bildlauf durchführen, damit sie sichtbar sind. Ich kenne die Methode scrollToRowAtIndexPath: atScrollPosition:. Aber ich muss es nach dem Neuladen als erledigt bezeichnen, da das Neuladen die Reihenhöhen ändert.
Hier sind einige verwandte Fragen, die aber meine Frage nicht ganz beantworten.
UITableView, Scroll nach unten beim Neuladen?
So starten Sie UITableView auf der letzten Zelle
BEARBEITEN - Mein Neuladen fügt keine Zeilen hinzu oder löscht sie. Stattdessen lade ich eine oder mehrere Zellen neu, um aktualisierte Informationen wiederzugeben.
Hier sind einige Hacky-Wege, wie Sie es tun könnten:
1) Wenn Sie reloadData aufrufen, wird Ihre cellForRowAtIndexPath: delegate-Funktion für jede sichtbare Zelle einmal aufgerufen. Sie können diese zählen und dann eine Aktion auslösen, nachdem die Funktion oft genug aufgerufen wurde.
2) Ich wette, dass einige der anderen UITableViewDelegate-Funktionen auch deterministisch aufgerufen werden. Vielleicht kannst du deine Refresh-Funktion in einer dieser Funktionen aufrufen, vielleicht mit einer kleinen Verzögerung.
3) Sie könnten auch performSelector verwenden: withObject: afterDelay: after [tableView reloadData] und eine fest codierte Verzögerung verwenden.
Tags und Links iphone uitableview scroll ios animation