7

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

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

    return UITableViewCellEditingStyleNone;

}

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

4

2 回答 2

4

您是否尝试在 UITableViewCell 上将 shouldIndentWhileEditing 设置为 NO?

于 2012-12-13T01:34:56.837 回答
4

试试这个 UITableViewDelegate 方法。它将允许重新排序,而无需在左侧显示 Delete 按钮,也无需将行向右移动:

- (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;
}
于 2015-01-26T07:07:37.713 回答