2015-03-10 6 views
5

Ich habe die Zeileneinfügung mit dem folgenden Code festgelegt. Ich verwende nur UITableViewRowAnimationNone beim Einfügen und Löschen der Zeilen, aber manchmal, wie Sie im unten stehenden gif sehen können, animiert die Zeile von oben oder unten. Zum größten Teil animiert es nicht, wie ich es will, aber manchmal animiert es beim Einfügen und Löschen. Ich spreche nicht von der Tabellenansicht, die sich ausdehnt, um die eingefügte Zelle zu zeigen, ich meine, die Zelle scheint von unten oder oben hinein zu gleiten.UITableViewRowAnimationNone - verhält sich wie UITableViewRowAnimation (Top/Bottom)

enter image description here

Hier ist die Methode, die die Einfügung Animation steuert:

- (void)contentHeaderFooterView:(NFContentHeaderFooterView *)headerFooterView sectionOpened:(NSInteger)section{ 

    NSIndexPath *pathToAdd = [NSIndexPath indexPathForRow:0 inSection:section]; 

    [self.tableView beginUpdates]; 
    [self.tableView insertRowsAtIndexPaths:@[pathToAdd] withRowAnimation:UITableViewRowAnimationNone]; 
    [self.tableView endUpdates]; 

} 

Und hier ist die Methode, die die Löschung Animation steuert.

+0

gleiche Problem ist, scheint ein Fehler zu sein. – Andy

Antwort

0

Ich hatte ähnliche Probleme mit Tabellenupdates nicht die Animation, die ich es direkt gab. Ich kann nicht mit Sicherheit sagen, warum, aber eine Sache, die ich vorschlagen kann, ist, anstatt eine bestimmte Zeile Löschung zwischen begin/endUpdates zu tun, können Sie nur zu einem Hard ReloadData.

0

hier beantwortet: https://stackoverflow.com/a/37352789/577237

Reposted da es kurz ist:

[UIView performWithoutAnimation:^{ 
        [self.tableView beginUpdates]; 
        [self.tableView deleteRowsAtIndexPaths:rowsToRemove withRowAnimation:UITableViewRowAnimationNone]; 
        [self.tableView endUpdates]; 
       }]; 

Beachten Sie, dass diese iOS 7.0+