UITableViewCell编辑属性似乎是颠倒过来的

时间:2012-03-29 18:08:48

标签: ios uitableview

我对这个问题有点疯狂。我有一个表视图,我想在所有单元格中显示表格视图单元格删除编辑控件,除了节中的最后一个单元格。但相反,我得到的恰恰相反,删除控件只显示在最后一行。谁能告诉我为什么?

在我的视图控制器的viewDidLoad方法中,我有:

- (void)viewDidLoad {
    ...
    [self.tableView setEditing:YES animated:NO]
}

在我的表视图数据源cellForRowAtIndexPath:方法中我有:

// 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];
    }

我还添加了

 - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
  return UITableViewCellEditingStyleDelete;
}

2 个答案:

答案 0 :(得分:0)

if语句放在tableView:editingStyleForRowAtIndexPath:方法中,并使用UITableViewCellEditingStyleNone作为最后一个单元格。

答案 1 :(得分:0)

我在这里找到了我的问题的答案:

https://stackoverflow.com/a/5664207/472344