我将此表链接到右上角带有“编辑”的数据库。 我可以删除滑动,但如果我按下编辑按钮没有任何反应! 我的意思是,我在同一个程序中为另一个表写了一个类似的调用,当我按下编辑时,会出现一个小的“Unlock to delete”;然后,如果你按它,你可以删除元素/行... 不在这里!
- (void)viewDidLoad
{
self.title = @"Categorie";
[super viewDidLoad];
self.navigationItem.rightBarButtonItem = self.editButtonItem;
[self.navigationItem setHidesBackButton:YES animated:YES];
[tableView reloadData];
}
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
- (void)tableView:(UITableView *)_tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete)
{
// A lot of code...
}
}
答案 0 :(得分:1)
你需要告诉tableView开始使用setEditing进行编辑:(BOOL)编辑动画:(BOOL)animate
//Init your editBarButton
UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editTable)];
//Init your doneBarButton
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneEditing)];
以下是一个示例操作方法:
- (void)editTable {
if (!self.tableView.editing) [self.tableView setEditing:YES animated:YES];
self.navigationController.rightBarButtonItem = self.doneButton;
}
- (void)doneEditing {
if (self.tableView.editing) [self.tableView setEditing:NO animated:YES];
self.navigationController.rightBarButtonItem = self.editButton;
}