在 UITableView 中的部分之间重新排列
Posted
技术标签:
【中文标题】在 UITableView 中的部分之间重新排列【英文标题】:Rearranging between sections in UITableView 【发布时间】:2010-06-25 03:41:00 【问题描述】:我有一个包含 2 个部分的 UITableView。我在表格视图中启用了重新排列,但我遇到了一个奇怪的问题。
我不希望用户能够在部分之间重新排列行(我只希望用户能够在他们的部分中重新排列行)。如果我尝试将一行从第一部分拖到第二部分,它不会允许我,这就是我想要的。如果我将一行从第二部分拖到第一部分,它会让我,这是我不想要的。
这是 Apple 框架中的一个错误,还是它的实际行为方式,以及如何获得我想要的行为?
编辑:我在这里遇到了一些不一致的地方。早些时候我无法将一行从第一部分拖到第二部分,但现在我可以了。如何禁用部分之间的重新排列?
【问题讨论】:
【参考方案1】:我不知道具体的错误,但您是否已明确覆盖 tableView:targetIndexPathForMoveFromRowAtIndexPath:toProposedIndexPath: 以检查该行正在尝试移动到的部分?也许你不是,默认行为只是碰巧以一种方式起作用,而不是另一种?
【讨论】:
这个应该方法应该有效。只需检查proposedDestinationIndexPath.section 是否与sourceIndexPath.section 相同,并根据它返回旧的或新的索引路径。以上是关于在 UITableView 中的部分之间重新排列的主要内容,如果未能解决你的问题,请参考以下文章
通过拖动委托向上或向下拖动一行来重新排列表格中的部分(iOS 11)