UITableView删除编辑将单元格内容推向右侧

时间:2011-02-22 08:35:56

标签: ios iphone uitableview coding-style editing

在tableView上设置[self.tableView setEditing:TRUE];时,本机表删除编辑图标显示在左侧。但是当使用普通风格的桌子时,这些圆形图标会将我的行背景(和内容)推向右侧。

如何防止编辑样式更改单元格位置,而是将图标放在单元格的顶部?

它现在的方式看起来像一个bug。

另一个问题。有没有办法定义indexPath.row == 0 setEditing:TRUE上没有删除图标?

2 个答案:

答案 0 :(得分:7)

  1. 将单元格的shouldIndentWhileEditing属性设置为NO
  2. 实施委托的tableView:editingStyleForRowAtIndexPath:方法并从中返回适当的值,例如:

    - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
       if (indexPath.row == 0)
           return UITableViewCellEditingStyleNone;
       return UITableViewCellEditingStyleDelete;
    }
    

答案 1 :(得分:5)

好的,发现为什么#1不起作用。我喜欢将我的行背景设置为cell.contentView上的视图,而不是将其放在cell.backgroundView上。这样,内置功能无法将背景与内容分开。

shouldIndentWhileEditingRowAtIndexPath函数只会阻止背景缩进而不是内容,因为编辑图标必须有空间。