【问题标题】:tableview smooth scroll best practices swifttableview 平滑滚动最佳实践 swift
【发布时间】:2016-10-04 14:55:40
【问题描述】:

这是一个技术问题,或关于良好做法的问题......

我有这个应用程序,它是一个社交网络,我们有时间线。在这个时间线中,我必须在我以这种方式完成的 tableview 上渲染很多单元格:

  • 创建一个单元格(带有页眉、正文和页脚)-xib 文件
  • 在这个单元格中,我有一个方法:setupCell() - 配置内容
  • 对于每种类型的帖子,我都会在此单元格的主体(如 PhotoPost、TextPost 或 VideoPost 等)上正确实例化一个视图 (xib),并配置约束以设置视图的大小。
  • 另外,我正在使用:

      tableView.estimatedRowHeight = 603
    
      tableView.rowHeight = UITableViewAutomaticDimension
    
  • 和翠鸟异步下载图片。

还有,最好的方法是什么:故事板、xib 或代码?

所以,我的问题是我的滚动滞后 - 我使用的是可重复使用的单元格,但每次 tableview 委托调用 cellForRow 时,我都必须 setupCell()。

我的第一个想法: 我得到带有任务的帖子数组,然后为每个帖子创建单元格并将其附加到单元格数组中,因此当调用 cellForRow 时,我只需从该数组中获取正确的单元格。它会变得更好。但仍然不够(我在 iPhone 5c 上进行测试)。 我的下一个想法是为每种帖子创建不同的单元格,并为他的大小的这个单元格保存一个变量以设置 heighForCell 方法。 你认为这看起来不错的解决方案?谁能给我意见和建议?我提前很坦荡..

【问题讨论】:

    标签: ios swift tableview tableviewcell smooth-scrolling


    【解决方案1】:

    在尝试了可能的解决方案后,我决定使用 AsyncDisplayKit 来解决我的问题,它提供了非常流畅的滚动。

    http://asyncdisplaykit.org

    它是完整的 SDK,并且有很好的文档,所以很容易实现。如果您遇到与我类似的问题,我会推荐它。

    【讨论】:

    • 我有点好奇你的问题是什么意思?您要求它立即自己回答。
    • @JacobKing,实际上并非如此。我是使用堆栈的新手(用于问题和答案)。但是我大约一个月前提出了这个问题。我最好的解决方案是使用 AsyncDisplay 。我应该编辑一些东西吗?请告诉我..
    • 我可以告诉你,你是新人,别担心你没有做错任何事!这实际上是我的一个错误,我误读了问题的日期,为此我深表歉意。但是,我已经为您的答案提交了一个编辑,它只是详细说明了您所说的内容,并明确表示这是您在尝试不同的事情后最终的结果。
    • 非常感谢@JacobKing!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    • 2013-04-02
    • 2015-11-24
    • 1970-01-01
    相关资源
    最近更新 更多