2013-11-14 4 views
6

ich ein UITableViewController bin mit, und sind mit:Wenn ein UITableView Abschnitt Nachladen alle Abschnitte blinken

[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:sectionNumber] withRowAnimation:UITableViewRowAnimationNone]; 

einen einzelnen Abschnitt des Tableview neu zu laden (das Einfügen neuer Zellen zu animieren). Das Problem ist, dass alle Abschnitte und ihre Zellen bei jedem Anruf kurz weiß aufleuchten. Dies tritt nicht auf, wenn ich

verwende, aber egal, welche Zeilenanimation ich verwende.

Ich bin mir bewusst, dass ich insertRowsAtIndexPaths:withRowAnimation: verwenden kann, aber ich habe derzeit eine Race-Bedingung, die mir nicht erlaubt, das zu verwenden. Irgendwann werde ich das beheben, aber in der Zwischenzeit würde ich gerne wissen, warum alle Sektionszellen blinken, während ich eine einzelne Sektion neulade. Wenn ich den Blitz ausschalten und nur das Einfügen/Löschen von Zellen animieren kann, wäre das ideal.

+0

Können Sie ein Codebeispiel bereitstellen? – MartinMoizard

Antwort

0

Ich glaube, dass es blinkt, denn wenn Sie einen bestimmten Abschnitt neu laden, muss es immer noch die Größe aller sichtbaren Abschnitte neu berechnen. Daher der Blitz. Ohne Einfügen/Löschen (weil es weiß, dass sich die Tabelle nur um eins ändert), können Sie nicht darüber hinwegkommen.

Wenn Sie dies nur im Simulator versuchen, ist es möglich, dass der Blitz entweder verschwindet oder weniger wahrnehmbar ist, wenn er auf ein tatsächliches Gerät geladen wird.

Verwandte Themen