ios – 中断UITableView单元格调整大小动画?

前端之家收集整理的这篇文章主要介绍了ios – 中断UITableView单元格调整大小动画?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个UITableView,当它停止滚动时(scrollViewDidEndDecelerating :),当前单元格的高度通过设置变量currentRow并重新加载来扩展:
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
    CGFloat current_offset = self.tableView.contentOffset.y;
    currentRow = [self.tableView indexPathForRowAtPoint:CGPointMake(0,current_offset)].row;
    [self.tableView beginUpdates];
    [self.tableView endUpdates];
};

动画工作正常,但它暂时阻止了tableview的可滚动/交互.因此,如果我在单元格扩展时触摸屏幕,除非我再试一次,否则我最终无法滚动.

是否有解决方法或其他方法来实现相同的效果

解决方法

您可以使用此方法停止动画,
但我不确定它不会出问题.
- (void)stopAnimations
{
    for (UITableViewCell *cell in [self.tableView visibleCells]) {
        [cell.layer removeAllAnimations];
    }
}

尝试在TableViewController上添加

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self stopAnimations];
}

或者尝试将轻触手势识别器添加到应用程序窗口,然后在手势触发器上调用stopAinimations.

原文链接:https://www.f2er.com/iOS/327720.html

猜你在找的iOS相关文章