iOS:如何在没有动画的情况下在indexPath上重新加载单元格?

Nub*_*lon 4 uitableview ios

我有UITableView与细胞.当我选择单元格 - 高度增加时,当我再次选择此单元格时 - 高度降低.在方法"didSelectRowAtIndexPath"我用这个 -

NSArray *indArr = [[NSArray alloc] initWithObjects:(NSIndexPath*)[timer userInfo], nil];
[self.tableView reloadRowsAtIndexPaths:indArr withRowAnimation:UITableViewRowAnimationFade];
Run Code Online (Sandbox Code Playgroud)

但是"UITableViewRowAnimationFade"动画已经褪色,并且细胞闪烁.我尝试了另一种动画,但它们也不合适(

如何避免这种影响并更新没有动画的单元格?

n13*_*n13 15

将行动画设置为.None不起作用 - 仍然有东西在继续前进.在我的例子中,一些单元格改变了高度,这导致表格视图滚动.

要保持完美,请执行以下操作:

        UIView.performWithoutAnimation({ 
            let loc = tableView.contentOffset
            tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: .None)
            tableView.contentOffset = loc
        })
Run Code Online (Sandbox Code Playgroud)