我的UITableView中有2个部分。我希望第二部分可以移动,但第一部分的细胞不是。 指定canEditRowAtIndexPath和canMoveRowAtIndexPath没有帮助 - 第一部分单元格虽然没有显示拖动控件,但如果拖动第二部分的单元格,它们仍会更改位置。 有解决方法吗?
答案 0 :(得分:2)
尝试实现targetIndexPathForMoveFromRowAtIndexPath方法,并在用户尝试将其移动到第一部分时强制第二部分中的行返回其原始位置:
- (NSIndexPath *)tableView:(UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath toProposedIndexPath:(NSIndexPath *)proposedDestinationIndexPath
{
if (proposedDestinationIndexPath.section == 0)
{
return sourceIndexPath;
}
else
{
return proposedDestinationIndexPath;
}
}