Ios 管理两个单元格之间的交换,而不是更改其他UITableViewCell的NSIndexpath

Ios 管理两个单元格之间的交换,而不是更改其他UITableViewCell的NSIndexpath,ios,ios4,uitableview,Ios,Ios4,Uitableview,我知道当UITableView处于编辑模式时,这是tableviewcells重新排列的默认属性&用户只需重新排列UITableViewController处理的行 根据苹果文件: 现在我想做的是,当我把单元格拖到其他单元格上时,后端单元格不应该自动重新排列,只是我把拖动的单元格放在上面的单元格应该重新排列,这是两个单元格之间的一种交换 为了更好地理解,请参考下图。我应该能够将Jones转移到Room1,tableview控制器应该能够自动将Smith2转移到Room3 以下是我正在使用的方法:

我知道当UITableView处于编辑模式时,这是tableviewcells重新排列的默认属性&用户只需重新排列UITableViewController处理的行

根据苹果文件:

现在我想做的是,当我把单元格拖到其他单元格上时,后端单元格不应该自动重新排列,只是我把拖动的单元格放在上面的单元格应该重新排列,这是两个单元格之间的一种交换

为了更好地理解,请参考下图。我应该能够将Jones转移到Room1,tableview控制器应该能够自动将Smith2转移到Room3

以下是我正在使用的方法:

问题是:

我如何阻止其他单元格自动重新排列 我把单元格拖到其他单元格上。 没有一个委托方法在使用时被调用 将单元格拖到其他单元格上,唯一调用的方法是 将单元格放置在moveRowAtIndexPath上时,移动Rowatindexpath。因此,甚至无法检查某些情况&没有发现此增强的任何范围 在现有的TableView中。
TableView是否有任何属性,我可以在其中停止此类行为以仅在其余行保持相同indexPath的情况下执行两个单元格之间的交换。Alos,请有人用其他方法帮助我解决问题(如果有)。

有关您提到的问题,请查看 下面的方法对您很有帮助

TargetIndexPathFormovfromRowAtIndexPath canMoveRowAtIndexPath


对于交换b/w两行,您可以通过此了解您提到的问题,请检查UITableView代理 下面的方法对您很有帮助

TargetIndexPathFormovfromRowAtIndexPath canMoveRowAtIndexPath

对于交换b/w两行,您可以从中了解到这一点

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
    return YES;
}

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath {

    NSString *temp = [roomstoringArray objectAtIndex:sourceIndexPath.row];
    [roomstoringArray removeObjectAtIndex:sourceIndexPath.row];

    [roomstoringArray insertObject:temp atIndex:destinationIndexPath.row];

   // [temp release];

}