Ich werde ein bisschen verrückt mit diesem Problem. Ich habe eine Tabellenansicht, in der ich das Tabellenansichtszellen-Löschen-Bearbeitungssteuerelement in allen Zellen anzeigen möchte, außer dem letzten in einem Abschnitt. Aber stattdessen bekomme ich genau das Gegenteil, das Löschsteuerelement wird NUR in der letzten Zeile angezeigt. Kann mir jemand sagen warum?UITableViewCell Bearbeitungseigenschaft scheint umgekehrt zu sein
Meiner Ansicht Controller viewDidLoad Methode, die ich habe:
- (void)viewDidLoad {
...
[self.tableView setEditing:YES animated:NO]
}
In meiner Tabellenansicht Datenquelle cellForRowAtIndexPath: Methode, die ich habe:
// All except for the last cell in the section are in editing mode
if ([indexPath row] == ([tableView numberOfRowsInSection:[indexPath section]] - 1)) {
[cell setEditing:NO animated:NO];
}
else {
[cell setEditing:YES animated:NO];
}
ich auch
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleDelete;
}
Das funktioniert, wenn ich UITableViewCell setEditing entfernen: animierte: Anrufe. Aber ich muss in der Lage sein, die Löschschaltflächen anzuzeigen und zu verbergen, ohne die Tabellenansichtszelle tatsächlich neu zu laden, und ich wollte es mit diesen Aufrufen von UITableViewCell tun. – Darren
Können Sie Ihren 'cellForRowAtIndexPath:'? Es könnte etwas damit zu tun haben, wie Sie Ihre Zelle erstellen. – Gobot