我知道这是 UITableView 处于编辑模式时重新排列 tableviewcells 的默认属性,用户只需重新排序由 UITableViewController 处理的行。
根据 Apple Doc:重新排序行
现在我想要做的是,当我将单元格拖到其他单元格上时,后端单元格不应该自动重新排列,只是我放置拖动单元格的单元格应该重新排列,一种在两个单元格之间交换。
为了更好地理解,请参考下图。我应该能够将Jones 转移到 Room1 并且 tableview 控制器应该能够自动将 Smith2 转移到 Room3。
以下是我正在使用的委托方法:
- (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];
}
问题是:
- 当我将单元格拖到其他单元格上时,如何阻止其他单元格自动重新排列。
- 当一个用来将单元格拖到其他单元格上时,没有一个委托方法会被调用,只有 当一个单元格放在它上面时调用的方法是moveRowAtIndexPath 。因此,即使无法检查某些条件,也没有在现有的 TableView 中找到此增强的任何范围。
TableView 是否有任何属性,我可以在其中停止这种行为以执行两个单元格之间的交换,仅在其余行保持相同 indexPath 的情况下执行。Alos,如果有的话,有人可以帮助我吗?