在tableView上设置[self.tableView setEditing:TRUE];
时,本机表删除编辑图标显示在左侧。但是当使用普通风格的桌子时,这些圆形图标会将我的行背景(和内容)推向右侧。
如何防止编辑样式更改单元格位置,而是将图标放在单元格的顶部?
它现在的方式看起来像一个bug。
另一个问题。有没有办法定义indexPath.row == 0
setEditing:TRUE
上没有删除图标?
答案 0 :(得分:7)
shouldIndentWhileEditing
属性设置为NO
。实施委托的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函数只会阻止背景缩进而不是内容,因为编辑图标必须有空间。