gpt4 book ai didi

ios - 管理两个单元格之间的交换而不是更改其他 UITableViewcells 的 NSIndexpath

转载 作者:行者123 更新时间:2023-12-01 16:57:36 24 4
gpt4 key购买 nike

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

根据苹果文档:Reordering of Rows

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

为了更好地理解,请引用下图。我应该可以 将 Jones 转移到 Room1 和 tableview Controller 应该能够自动将 Smith2 转移到 Room3。

enter image description here

以下是我正在使用的委托(delegate)方法:

- (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];

}

问题是:
  • 如何在我停止其他单元格时自动重新排列
    我将单元格拖到其他单元格上。
  • 过去没有一个委托(delegate)方法会被调用
    将单元格拖到其他单元格上,唯一调用的方法是
    moveRowAtIndexPath 当一个细胞掉在上面时。因此,甚至无法检查某些条件并且没有找到此增强的任何范围
    在现有的 TableView 中。

  • TableView 是否有任何属性,我可以停止这种行为以仅在其余行保持相同 indexPath 的情况下执行两个单元格之间的交换。Alos,有人可以用其他方式帮助我(如果有的话)。

    最佳答案

    对于您提到的问题,请查看 here. 中的 UITableView 代表

    以下方法对您有帮助。

    targetIndexPathForMoveFromRowAtIndexPath
    canMoveRowAtIndexPath



    对于交换黑白两行,您可以通过 answer. 获得想法

    关于ios - 管理两个单元格之间的交换而不是更改其他 UITableViewcells 的 NSIndexpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10346158/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com