Ich benutze Xcode 4.2 mit Storyboard, um eine iPhone App zu erstellen.Fügen Sie die Zelle am Ende von UITableView in iOS
Wenn ich die Bearbeitungsschaltfläche in der oberen rechten Ecke drücke, möchte ich die Optionen haben, die vorhandenen Zeilen zu löschen und die zusätzliche Zelle (mit dem grünen '+' Symbol) oben zu sehen, die ich hinzufügen könnte eine neue Zelle.
Ich habe ein Array, das in der viewDidLoad
Verfahren bevölkert wird Coredata mit
I aktiviert haben die Schaltfläche Einstellungen
self.navigationItem.rightBarButtonItem = self.editButtonItem;
und umgesetzt Methode
- (void)tableView:(UITableView *)tableView commitEditingStyle:
(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:
(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
// removing a cell from my array and db here...
}
else if (editingStyle == UITableViewCellEditingStyleInsert) {
// adding a cell to my array and db here...
}
}
Ich weiß, ich brauche um die Zelle irgendwann hinzuzufügen, die ich dann bearbeiten kann, aber mir ist nicht klar, wo und ich finde keine Erklärung im Internet.
:) =) kein Problem! – ragamufin
Wenn ich diese Methode verwende, bemerke ich, dass die Einfügereihe, die wir hinzufügen und entfernen, das blaue Auswahlsymbol auf der rechten Seite für einen kurzen Moment zeigt, wenn sie entfernt wird. Es hat damit zu tun, dass die Tabelle vor dem Entfernen der Zeile aus dem Bearbeitungsmodus genommen wird. Ich habe versucht, den Aufruf 'beginUpdates' über den Aufruf 'setEditing' von tableView zu verschieben, aber dann wird das blaue Symbol angezeigt, wenn die Zeile hinzugefügt und nicht entfernt wird. Irgendwelche Ideen, wie man dieses blaue Auswahlsymbol vermeidet? – Ryan
Es klingt, als ob AccessoryType irgendwo gesetzt oder in der tableView-Queue zwischengespeichert wird. Versuchen Sie, es explizit auf UITableViewCellAccessoryNone festzulegen, wenn Sie eine Zelle hinzufügen. – ragamufin