Objective C - 滑动以删除行

时间:2015-02-26 10:02:17

标签: ios objective-c

我是objective-c的新手,并获得了一些用于添加新功能的遗留代码。 我的应用需要通过滑动然后删除来删除表格中的行。 实现已经支持行的排序

我已阅读过上一期问题UITableViewCell, show delete button on swipeusing swipe gesture to delete row on tableview我不想显示删除行的任何按钮(也不显示( - )(红色左按钮)当单击( - )红色左侧时,右侧显示的DELETE按钮也不显示按钮)。

我已经定义了以下方法:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"editingStyleForRowAtIndexPath");
    return UITableViewCellEditingStyleNone;
}

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSLog(@"canEditRowAtIndexPath");
    return YES; // allow that row to swipe
}

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    NSLog(@"commitEditingStyle");
}

行为是这个"配置"显示删除左红色按钮。当单击时,它会在行右侧显示“删除”按钮点击它即可运行commitEditingStyle代理

删除tableView:editingStyleForRowAtIndexPath make会消失左侧红色按钮并且滑动不起作用。我也没有设法在commitEditingStyle代表中执行。

为什么没有调用commitEditingStyle委托的任何建议或想法?

2 个答案:

答案 0 :(得分:0)

只需编写删除行的代码即可 - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath

我已经检查过,这对我来说很好。

这将删除滑动中的行而不显示删除按钮。我希望这能解决你的问题。

答案 1 :(得分:-3)

替换

return UITableViewCellEditingStyleNone 

return UITableViewCellEditingStyleDelete