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