我为UITableView设置了编辑模式,可以进行单元格重新排序。 UITableViewCellEditingStyleNone由每个单元格的editingStyleForRowAtIndexPath:方法返回,但它保留了单元格左侧的一些区域。是否可以防止这样的区域保留,因为我不需要在左边插入或删除图标?简而言之,我希望有一个占用所有可用区域的单元格,仍然可以重新排序。
答案 0 :(得分:33)
// UITableViewDelegate
- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath {
return NO;
}
答案 1 :(得分:7)
答案 2 :(得分:0)
将此设置为2或3
的tableView:indentationLevelForRowAtIndexPath:
答案 3 :(得分:0)
shouldIndentWhileEditing属性仅适用于分组表。我发现将缩进级别设置为-3可以完成普通表的工作。有没有更好的办法?这就是我现在使用的:
if (self.tableView.style == UITableViewStylePlain) {
cell.indentationLevel = -3;
} else if (self.tableView.style == UITableViewStyleGrouped) {
cell.shouldIndentWhileEditing = FALSE;
}
答案 4 :(得分:0)
两者兼顾
- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath {
return NO;
}
和
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewCellEditingStyleNone;
}
在UITableViewDelegate
中。否则,单元格内容将缩进。