gpt4 book ai didi

ios - 为什么在滚动 uitableviewcontroller 时会调用 layoutIfNeeded?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:57:34 24 4
gpt4 key购买 nike

我正在尝试针对较慢的设备优化 UITableViewController,并且在排除了 tableview 可能变慢的许多原因之后,我仍在尝试找出最后一个......

enter image description here此屏幕截图来自仪器,显示了最昂贵的调用,在没有调用以获取 heightForRowAtIndexPathcellForRowAtIndexPath 的时间内(反复上下滚动 ~10px 而不会导致任何单元格离开表格,或被渲染)。

这是正常行为吗?如果页面内容没有改变,为什么 View 需要重新布局?

最佳答案

每次滚动时,您都会更改 contentOffsetcontentOffset 更新 bounds,特别是它的 origin。每个 bounds 更改都标记为下一个更新周期中布局需要的接收器。在这种情况下,更新 float subview 的 frame,例如滚动指示器、表格页眉和页脚……这是完全正常的行为,您无能为力。别担心,您正在重新显示,而不是重新绘制。

关于ios - 为什么在滚动 uitableviewcontroller 时会调用 layoutIfNeeded?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36408421/

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