在iPhone SDK中防止特定单元格的单元格重新排序

时间:2010-02-23 21:56:09

标签: iphone

我的UITableView中有2个部分。我希望第二部分可以移动,但第一部分的细胞不是。 指定canEditRowAtIndexPath和canMoveRowAtIndexPath没有帮助 - 第一部分单元格虽然没有显示拖动控件,但如果拖动第二部分的单元格,它们仍会更改位置。 有解决方法吗?

1 个答案:

答案 0 :(得分:2)

尝试实现targetIndexPathForMoveFromRowAtIndexPath方法,并在用户尝试将其移动到第一部分时强制第二部分中的行返回其原始位置:

- (NSIndexPath *)tableView:(UITableView *)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath *)sourceIndexPath toProposedIndexPath:(NSIndexPath *)proposedDestinationIndexPath
{
    if (proposedDestinationIndexPath.section == 0)
    {
        return sourceIndexPath;
    }
    else 
    {
        return proposedDestinationIndexPath;
    }
}