ASyncDisplayKit和ASTableNode:平滑的慢滚动和闪烁

时间:2018-06-07 13:20:41

标签: swift asyncdisplaykit

我有两个关于ASTableNode行为的问题。

我试图将ASTableNode纳入我的项目中,我非常喜欢它,但我有两个问题。

  1. ASTableNode太快了。这可能是一件好事,但我使用ASTableNode作为聊天信使的基础,并且新消息在屏幕上显示得太快。从框中UITableView似乎比这更好(更慢/更平滑)。

    有可能以某种方式管理这个过程吗?我在这里阅读了文档和问题/答案,但我找不到与此问题相关的任何内容。

  2. 闪烁。我的一些单元格包含图像,这些消息在新消息出现时闪烁​​(尽管手动滚动没有任何闪烁)。

    我正在使用ASImageNode,但是图片正在从网上下载,所以在那之后:

    self.asImageView = ASImageNode()
    self.asImageView.clipsToBounds = true
    self.asImageView.cropRect = CGRect(x: 0, y: 0, width: 0.0, height: 0.0)
    self.asImageView.backgroundColor = UIColor.brown
    self.addSubnode(self.asImageView)
    

    我必须这样做才能为我的布局获得asImageView的正确高度(每当我说self.asImageView.image = image时执行此代码):

    if let image = self.asImageView.image {
        if image != nil && image.size.width != 0 {
            self.ratio = image.size.height / image.size.width
            self.setNeedsLayout()
            self.layoutIfNeeded()
        }
    }
    

    我没有使用占位符,但无论如何都有一些闪烁。 shouldBatchFetch设置为false

0 个答案:

没有答案