我有一个UITableView
允许用户重新排序单元格的地方。除了顶行,所有单元格都可以重新排序,顶行必须始终保留为顶行。
我已经使用该canMoveRowAtIndexPath
方法来防止顶行移动。但是,我看不到阻止用户拖动任何其他行并将它们放到顶行上方的方法,从而打破了我的顶行要求。
如何阻止用户将其他行拖到顶行上方?
谢谢。
我有一个UITableView
允许用户重新排序单元格的地方。除了顶行,所有单元格都可以重新排序,顶行必须始终保留为顶行。
我已经使用该canMoveRowAtIndexPath
方法来防止顶行移动。但是,我看不到阻止用户拖动任何其他行并将它们放到顶行上方的方法,从而打破了我的顶行要求。
如何阻止用户将其他行拖到顶行上方?
谢谢。
有一个 UITableViewDelegate 方法,如果它不符合您的要求,您可以修改目标索引路径。我认为这应该有效:
- (NSIndexPath *)tableView:(UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath toProposedIndexPath:(NSIndexPath *)proposedDestinationIndexPath {
if (proposedDestinationIndexPath.row == 0) {
return sourceIndexPath;
}
else {
return proposedDestinationPath;
}
}