我正在尝试针对速度较慢的设备优化 UITableViewController,在消除了导致 tableview 速度慢的许多原因之后,我仍在尝试找出最后一个...
此屏幕截图来自仪器,显示了最昂贵的调用,在没有调用获取 heightForRowAtIndexPath 或 cellForRowAtIndexPath (反复上下滚动约 10px 而不导致任何单元格离开表格,或被渲染)。
这是正常行为吗?如果页面内容没有变化,为什么 View 需要重新布局?
Best Answer-推荐答案 strong>
每次滚动时,都会更改 contentOffset 。 contentOffset 更新 bounds ,特别是它的 origin 。每个 bounds 更改都标记接收器,以便在下一个更新周期中需要布局。在这种情况下,要更新 float subview 的 frame ,如滚动指示器、表格页眉和页脚,... 这是完全正常的行为,您无能为力。不用担心,您是在重新显示,而不是在重新绘制。
关于ios - 为什么在滚动 uitableviewcontroller 时会调用 layoutIfNeeded?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/36408421/
|