显示UITableViewCell重新排序控制而不将单元格内容向右移动?

时间:2012-12-13 01:17:41

标签: iphone objective-c uitableview

我实现了moveRowAtIndexPath来重新排列UITableView中单元格的顺序,并设置UITableViewCellEditingStyleNone,使其在编辑模式下只显示重新排序的控件。

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {

    return UITableViewCellEditingStyleNone;

}

它工作正常但是当进入编辑模式时,它仍然向右缩进每个单元格的内容,期望为删除或插入控件腾出空间。我没有使用它,所以它变成一个奇怪的空白空间。有没有办法在编辑模式下避免这种行为?

2 个答案:

答案 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;
}