当前位置 : 主页 > 手机开发 > 无线 >

uitableview – 我可以通过减少调用[CALayer LayoutSubviews]以及如何使我的tableview更流

来源:互联网 收集:自由互联 发布时间:2021-06-10
根据时间档案,我发现由于调用[UITable layoutSubviews],我的应用程序在[CALayer layoutSublayers]上浪费了太多时间.因此动作生成表视图不流畅,每当第一次点击按钮时,我会等待近2秒直到看到下一个
根据时间档案,我发现由于调用[UITable layoutSubviews],我的应用程序在[CALayer layoutSublayers]上浪费了太多时间.因此动作生成表视图不流畅,每当第一次点击按钮时,我会等待近2秒直到看到下一个视图.下一个视图的tableview中的每个单元格都有8个子视图,导致layoutSubviews占用了太多时间.因此,我想知道如何优化此进度,并且我不想在其drawrect中构建包含这8个子视图的自定义单元格:以避免layoutSubviews.谁能帮我? 我的猜测是你所看到的是一种症状,而不是真正的问题.

I would wait almost 2 second until see next view

您所描述的内容听起来就像您在第一次尝试显示时会预先渲染所有表格视图的单元格(导致大量布局成本).
在cellForRowAtIndexPath:中设置断点,添加声音操作激活’评估后自动继续’以调试此操作.
它应该只被调用10次左右(取决于同时可见的行数).

如果您在长列表中使用heightForRowAtIndexPath:这可能是您的问题的根源(取决于您的实现).在这种情况下,请考虑避免使用它.如果你以iOS 7为目标,请查看tableView:estimatedHeightForRowAtIndexPath:它可能有所帮助.
(链接:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableViewDelegate_Protocol/Reference/Reference.html).

网友评论