gpt4 book ai didi

ios - InsertRow 动画将 UITableView 向上滚动

转载 作者:行者123 更新时间:2023-11-29 12:00:55 30 4
gpt4 key购买 nike

我尝试实现一个 tableView,其中行在行可见时插入带有动画的行。我更新数据源的数组并调用:

 [self.tableView insertRowsAtIndexPaths:addedIndexPaths withRowAnimation:(UITableViewRowAnimationMiddle)];

我希望 tableview 完全不滚动,并且要在屏幕上插入行(不超过可见区域)。在某些部分,尤其是表格 View 的最后一部分,插入了单元格,表格 View 滚动到完全不同的部分。

我尝试了不同的行动画,在 beginUpdate/endUpdate block 内调用 layoutIfNeeded,在 beginUpdate/endUpdate block 内设置正确的内容偏移量或重新加载整个部分。

没有任何作用。 ScrollView 总是向上滚动。

单元格使用自动布局约束自行调整大小。在表格 View 的上半部分,单元格按我的预期插入。

如何在插入带有动画的单元格时修复内容偏移量?我该如何调试该动画?

最佳答案

我遇到了同样的问题,在尝试了很多之后找到了解决方案,如果我删除部分标题高度作为 UITableViewAutomaticDimension 然后从 UITableView 添加和删除行完美地工作并且 TableView 也固定在相同的位置。

tableView.sectionHeaderHeight = 10;
tableView.estimatedSectionHeaderHeight = UITableViewAutomaticDimension;

如果添加,请删除以上 2 行。

tableView.estimatedRowHeight = 15;
tableView.rowHeight = UITableViewAutomaticDimension;*

具有自动尺寸的行不会产生任何问题。

但是带有自动维度的部分标题 View 会产生问题。

谢谢。

关于ios - InsertRow 动画将 UITableView 向上滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37091992/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com