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