UITableView Animation Kopfschmerzen
NSIndexPath* updatedPath = [NSIndexPath indexPathForRow: 0 inSection: 0];
NSIndexPath* updatedPath2 = [NSIndexPath indexPathForRow: 1 inSection: 0];
NSArray* updatedPaths = [NSArray arrayWithObjects:updatedPath, updatedPath2, nil];
[self.mySexyTableView reloadRowsAtIndexPaths:updatedPaths withRowAnimation:UITableViewRowAnimationTop];
Der obige code funktioniert und animiert werden. Das problem ist, dass ich viele Daten und ich will nicht zu hart-code die Zeilen-Indizes. Da ich nur einen Abschnitt in meiner Tabelle Abschnitt kann 0 sein. Wie kann ich dynamisch generieren NSArray von NSIndexPath Objekte?
Oder gibt es einen einfacheren Weg, um zu animieren, die Tabelle anzuzeigen. Alle Zeilen in meiner Tabelle anzeigen zu ändern, wenn der Benutzer klickt auf die Registerkarte oben in der Tabelle anzeigen.
InformationsquelleAutor bparanj | 2009-07-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erzeugen das array von index-Pfade, man könnte einfach loop:
Wenn Sie und laden Sie alle Daten in den TableView, warum nicht einfach rufen Sie die reloadData Methode?
Wenn ich deinen code bekomme ich : *** Assertion failure in[_UITableViewUpdateSupport _setupAnimationsForNewlyInsertedcells], /SourceCache/UIKit/UIKit-963.10/UITableViewSupport.m:541 2009-07-08 09:14:42.979 QuartzFun[3781:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Versuch zum erstellen von Animationen für Zelle' 2009-07-08 09:14:42.979 QuartzFun[3781:207] Stack: (
Wenn ich loop : NSMutableArray updatedPaths = [[NSMutableArray alloc] init]; for (int i = 0; i < [lowList count]; i++) { NSIndexPath *updatedPath = [NSIndexPath indexPathForRow:ich inabschnitt über:0]; [updatedPaths addObject:updatedPath]; } [self.mySexyTableView reloadRowsAtIndexPaths:updatedPaths withRowAnimation:UITableViewRowAnimationTop]; bekomme ich: *** Terminating app due to uncaught exception 'NSRangeException', reason: '** -[NSMutableIndexSet addIndexesInRange:]: {214747, 1} überschreitet die maximale index-Wert von NSNotFound - 1' QuartzFun[3810:207]
Sie könnten versuchen, ob das funktioniert für nur 5 Zeilen oder so? In der for-Schleife, Inkrementieren eines Zählers, und wenn es schlägt, 5, Pause. Funktioniert es dann?
InformationsquelleAutor drvdijk
Wenn Sie aktualisieren möchten einen ganzen Abschnitt:
InformationsquelleAutor ccjensen
Wenn du mehr als ein indexPathForRow mit gleichen Zeilen-index, erhalten Sie diese Ausnahme.
Für erample
InformationsquelleAutor
Habe ich es endlich funktioniert. Hier ist der code:
Das problem war, dass ich wurde wieder hart codierten Wert von numberOfRowsInSection: Methode, die nicht das gleiche ist wie mySexyList Größe. Das war Absturz der app.
InformationsquelleAutor bparanj
Übernehmen
self.arTableData
ist ein veränderliches array der Tabelle &tableView
ist eine Instanz vonUITableView
. Angenommen es sind 10 Zeilen ( was bedeutet, dass 10 Objekte im array ) intableView
.Ich tun, implementieren Sie folgenden code zum löschen von Zeilen animiert.
Trick funktioniert bei mir ohne Probleme. Hoffe, es funktioniert für Sie. Viel Glück.
InformationsquelleAutor Sagar R. Kothari
Nur um meine Lösung in der Mischung, es war einfach, sobald ich es gefunden. Was passierte war, dass ich eine Tabelle "gruppiert" durch meinen eigenen code mit der gleichen Technik finden Sie unter: cocoanetics.com
Wenn der Benutzer etwas tut, dass ein update auf eine Zelle, und die Tabelle nicht gruppiert zu dieser Zeit, meinen code zu verwenden versucht
angeben von Pfaden sowohl für die Zelle und den nicht vorhandenen header. Dies verursacht den gleichen Fehler, andere haben oben berichtet. Alle die ich tun musste, war sicherzustellen, dass die "Pfade" zur Verfügung gestellt reloadRowsAtIndexPaths:withRowAnimation: tatsächlich existierte. Dass getan, alles war in Ordnung.
InformationsquelleAutor PKCLsoft