【发布时间】:2015-03-30 10:27:10
【问题描述】:
我觉得这可能是一个常见问题,想知道是否有任何常见的解决方案。
基本上,我的 UITableView 具有每个单元格的动态单元格高度。如果我不在 UITableView 的顶部并且我 tableView.reloadData(),向上滚动会变得跳跃。
我相信这是因为我重新加载了数据,当我向上滚动时,UITableView 正在重新计算每个单元格的高度,以使其可见。如何减轻这种情况,或者如何仅将某个 IndexPath 中的数据重新加载到 UITableView 的末尾?
此外,当我设法一直滚动到顶部时,我可以向下滚动然后向上滚动,没有跳跃的问题。这很可能是因为 UITableViewCell 的高度已经计算过了。
【问题讨论】:
-
几件事... (1) 是的,您绝对可以使用
reloadRowsAtIndexPaths重新加载某些行。但是(2)“跳跃”是什么意思,(3)您是否设置了估计的行高? (只是想弄清楚是否有更好的解决方案可以让您动态更新表格。) -
@LyndseyScott,是的,我已经设置了估计的行高。跳跃是指当我向上滚动时,行向上移动。我相信这是因为我将估计的行高设置为 128,然后当我向上滚动时,我在 UITableView 上面的所有帖子都变小了,所以它缩小了高度,导致我的表格跳了起来。我正在考虑从行
x到 TableView 中的最后一行执行 reloadRowsAtIndexPaths ......但是因为我要插入新行,所以它不起作用,我不知道我的 tableview 的结尾是什么在我重新加载数据之前。 -
@LyndseyScott 我还是不能解决问题,有什么好的解决办法吗?
-
你有没有找到解决这个问题的方法?我遇到的问题与您在视频中看到的完全相同。
-
以下答案均不适合我。
标签: ios uitableview swift autolayout