我实现了moveRowAtIndexPath来重新排列UITableView中单元格的顺序,并设置UITableViewCellEditingStyleNone,使其在编辑模式下只显示重新排序的控件。
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
return UITableViewCellEditingStyleNone;
}
它工作正常但是当进入编辑模式时,它仍然向右缩进每个单元格的内容,期望为删除或插入控件腾出空间。我没有使用它,所以它变成一个奇怪的空白空间。有没有办法在编辑模式下避免这种行为?
答案 0 :(得分:4)
您是否尝试过在UITableViewCell上将shouldIndentWhileEditing设置为NO?
答案 1 :(得分:4)
尝试此UITableViewDelegate方法。它将允许重新排序而不显示左侧的“删除”按钮而不将行向右移动:
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
return UITableViewCellEditingStyleNone;
}
- (BOOL)tableView:(UITableView *)tableview shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath {
return NO;
}
- (BOOL)tableView:(UITableView *)tableview canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
return YES;
}