UITableView将滑动区分为删除和多行选择

时间:2012-08-23 08:20:43

标签: ios uitableview edit

我正在使用UITableView,并希望同时支持Apple提供的标准编辑工具。到目前为止,我可以在单元格上滑动以显示“删除”按钮,然后点击右上角的“编辑”按钮进入多行编辑模式。这很好。

问题是,我希望我的tableView就像邮件应用程序一样,在使用滑动手势进入编辑模式时“除了显示删除按钮之外什么也不做”,并“显示垃圾桶按钮(任何地方) “进入多行编辑模式时。我无法弄清楚我怎么知道我在哪个编辑模式...

例如,我添加了setEditing方法,我在其中隐藏了标签栏(只是为了检查我的表格的行为):

-(void)setEditing:(BOOL)editing animated:(BOOL)animated 
{

    self.tableView.allowsMultipleSelectionDuringEditing = editing;
    [super setEditing:editing animated:animated];

    if (editing) {

        self.tabBarController.tabBar.hidden = YES;

    } else {

        self.tabBarController.tabBar.hidden = NO;
    }

}

现在,当我在单元格上滑动时,或者当我点击编辑按钮时,标签栏会被隐藏,之后会恢复正常。我想在我点击编辑按钮时隐藏它。

我应该在哪里以及如何做到这一点?

感谢。

1 个答案:

答案 0 :(得分:0)

为什么不将发件人交给编辑方法,像这样?

-(void)setEditing:(BOOL)editing animated:(BOOL)animated sender:(id)sender
{

    self.tableView.allowsMultipleSelectionDuringEditing = editing;
    [super setEditing:editing animated:animated];
    if (editing && [sender isKindOfClass:[UIButton class]]) 
    {
        self.tabBarController.tabBar.hidden = YES;
    } 
    else 
    {
        self.tabBarController.tabBar.hidden = NO;
    }

}