Hallo,
ich programmieren gerade ein kleines Tool, das mir in einer Tabelle mehrere Projektnamen verwalten soll. Dazu habe ich den EDIT/DONE Button in der Navigationsleiste angelegt und setEditing:animated: implementiert. Funktioniert auch alles soweit super - ich kann Projektnamen der Liste hinzufügen und wieder löschen, wie gewünscht.
Nun möchte ich aber den EDIT-Modus automatische abschalten, wenn die Applikation in den Background-Modus eintritt. Auch das tut sie. Das System legt dabei allerdings einen Screenshot automatisiert an, der beim zurückkehren in den Foreground-Modus für die Animation genutzt wird. Leider enthält dieser noch die Tabellenzeile "(+) Neues Projekt hinzufügen", die nur im EDIT-Modus auftritt, obwohl ich diesen bereits deaktiviert habe. Dadurch kommt ein kurzes lästiges Flackern zu stande, weil der Sekunden später angezeigte View diese Zeile ja gar nicht mehr enthält. Wie sich herausgestellt hat, liegt das an der Animation. Leider funktioniert mein setEditing:animated: nicht OHNE animation, obwohl ich den Parameter auf NO setze. Hat da jemand einen Tipp für mich?
Alles anzeigen
Danke im voraus
pocahontius
ich programmieren gerade ein kleines Tool, das mir in einer Tabelle mehrere Projektnamen verwalten soll. Dazu habe ich den EDIT/DONE Button in der Navigationsleiste angelegt und setEditing:animated: implementiert. Funktioniert auch alles soweit super - ich kann Projektnamen der Liste hinzufügen und wieder löschen, wie gewünscht.
Nun möchte ich aber den EDIT-Modus automatische abschalten, wenn die Applikation in den Background-Modus eintritt. Auch das tut sie. Das System legt dabei allerdings einen Screenshot automatisiert an, der beim zurückkehren in den Foreground-Modus für die Animation genutzt wird. Leider enthält dieser noch die Tabellenzeile "(+) Neues Projekt hinzufügen", die nur im EDIT-Modus auftritt, obwohl ich diesen bereits deaktiviert habe. Dadurch kommt ein kurzes lästiges Flackern zu stande, weil der Sekunden später angezeigte View diese Zeile ja gar nicht mehr enthält. Wie sich herausgestellt hat, liegt das an der Animation. Leider funktioniert mein setEditing:animated: nicht OHNE animation, obwohl ich den Parameter auf NO setze. Hat da jemand einen Tipp für mich?
Quellcode
- - (void)setEditing:(BOOL)editing animated:(BOOL)animated {
- if(editing || (!editing && self.editing)) {
- [super setEditing:editing animated:animated];
- NSArray *indexPaths = [NSArray arrayWithObjects:[NSIndexPath indexPathForRow:[self.singlePieceProjects count] inSection:0],
- [NSIndexPath indexPathForRow:[self.multiPieceProjects count] inSection:1],
- nil];
- [self.tableView beginUpdates];
- [self.tableView setEditing:editing animated:animated];
- if(editing)
- if(animated)
- [self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationTop];
- else
- [self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
- else
- if(animated)
- [self.tableView deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationTop];
- else
- [self.tableView deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
- [self.tableView endUpdates];
- }
- }
Danke im voraus
pocahontius