• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 使用几种不同类型的单元格滚动 UITableView 不够平滑

[复制链接]
菜鸟教程小白 发表于 2022-12-13 10:25:58 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我需要在一个非常复杂的表格 View 中包含几种不同的单元格类型。我在那些具有不同重用标识符的不同单元类中注册了 10 个 xib。问题是当我第一次(从上到下)滚动表格 View 时,我可以看到它有点滞后。然而,在我滚动到底部之后,然后滚动回到顶部和底部再次运行顺利。问题似乎出在 dequeueReusableCellWithIdentifier: 如果目前没有所需类型的可重用单元格,它似乎在滚动时加载不同的 xib 文件的速度不够快。这就是为什么第一次滚动会滞后,但是当每种类型的足够多的可重用单元被加载时,它就会开始平滑滚动。

有没有办法为 UITableView 预加载可重用的单元格。因此,例如,我可以加载每种 xib 类型 3 次(因此当调用 dequeueReusableCellWithIdentifier 时,tableview 将在内存中加载 30 个可重复使用的单元格(10 种单元格类型中的每个单元格 3 个))?稍后我需要在应用商店上发布应用,因此不允许使用任何私有(private) api。或者,在这种情况下,您还有其他可能的解决方案来提高性能吗?



Best Answer-推荐答案


我记得,CoreGraphics 会在每个单元格首次出现时对其进行检查,并执行一些混合计算,以使标签和 View 按照您的设计显示。

可以通过在 InterfaceBuilder 中将每个 View (标签、按钮、 View )设置为不透明来缓解这种减速。

减少 alpha != 1 的 View 数量。

将背景设置为白色,或者您使用的任何颜色,而不是清晰的。

查看这个人的解释和示例代码,了解他如何让动态表格 View 尽可能快地滚动。 https://github.com/kevinlawler/fastscrolling

*该链接是一个旧示例,但原则仍然适用于 afaik

关于ios - 使用几种不同类型的单元格滚动 UITableView 不够平滑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28995037/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap