UITableViewCell hinzufügen ohne Animation???

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • UITableViewCell hinzufügen ohne Animation???

    Hallo!

    Ich habe mir eine eigene UITableViewCell gebastelt und füge die Instanzen einer UITableView hinzu. Dabei kann ich die Animation beim hinzufügen nicht wegbekommen.

    Quellcode

    1. NSIndexPath *path = [NSIndexPath indexPathForRow:0 inSection:0];
    2. NSArray *indexArray = [NSArray arrayWithObject:path];
    3. [self.tableView beginUpdates];
    4. [self.tableView insertRowsAtIndexPaths:indexArray withRowAnimation:NO];
    5. [self.tableView endUpdates];


    Was mache ich falsch? Wie bekomme ich alle Animationen weg?
    Danke!
  • romber schrieb:

    Was mache ich falsch? Wie bekomme ich alle Animationen weg?

    1. Du hast die Dokumentation von insertRowsAtIndexPaths:withRowAnimation: anscheinend nicht gelesen.
    2. Der Parameter withRowAnimation ist falsch. Die Methode möchte einen Wert vom Typ UITableViewRowAnimation und Du übergibst ein BOOL. Gibt es beim Build keine Warning bei Zeile 4?

    Mögliche Werte für withRowAnimation bzw. UITableViewRowAnimation sind:

    Quellcode

    1. typedef enum {
    2. UITableViewRowAnimationFade,
    3. UITableViewRowAnimationRight,
    4. UITableViewRowAnimationLeft,
    5. UITableViewRowAnimationTop,
    6. UITableViewRowAnimationBottom,
    7. UITableViewRowAnimationNone,
    8. UITableViewRowAnimationMiddle
    9. } UITableViewRowAnimation;
  • Ersmal vielen Dank für die schnelle Reaktion!

    MCDan schrieb:

    1. Du hast die Dokumentation von insertRowsAtIndexPaths:withRowAnimation: anscheinend nicht gelesen.
    2. Der Parameter withRowAnimation ist falsch. Die Methode möchte einen Wert vom Typ UITableViewRowAnimation und Du übergibst ein BOOL. Gibt es beim Build keine Warning bei Zeile 4?
    Doch, die Dokumentation habe ich gelesen. Und ich weiß auch, dass der Parameter withRowAnimation ein Objekt vom Typ UITableViewRowAnimation erwartet und kein BOOL. Das mit dem BOOL war einfach ein verzweifeltes Versuch und da der Compiler auch keine Warnung ausgibt, habe ich mir auch keine weitere Gedanken darüber gemacht. Jedenfalls, kriege ich die Animation auch mit

    Quellcode

    1. UITableViewRowAnimationNone
    nicht weg. :(
  • Mit dieser Zeile klappt es ganz gut, vielen Dank!
    Noch zwei Anfängerfragen zu dem Thema: was macht die reloadData genau? Wird die gesammte Tabelle neu geladen? Kann es dadurch zu einem Performance-Problem kommen, wenn viele Cells in der Tabelle sind?
  • Ja es wird gesamte Tabelle neu geladen... Aber

    Es werden ja immer nur die Zellen geladen die angezeigt werden (+- ein paar zum ruckfreien scrollen) . Deshalb wirst du Performance maessig nur dann was merken wenn du beim ersten Start der app auch was merkst, weil du was grundlegendes falsch gemacht hast ( z.b. Wenn du für jede zelle ein 3mbit Bild einlädst :)

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)