美文网首页TextureiOS学习笔记
AsyncDisplayKit 使用心得

AsyncDisplayKit 使用心得

作者: Mr_小伞 | 来源:发表于2017-07-20 17:19 被阅读148次

    最近做了个项目,主要是用UITableView做界面,展示数据等等,由于UITableViewCell太过于复杂,所以需要优化,但查找了很多原因,发现根本原因在于UITableViewCell自动计算高度的时候,导致很耗费性能。
    在没有太好的办法下,我使用了Facebook 开发的一个UI库:AsyncDisplayKit。这里给上官方文档,我觉得看这个足够入门了
    http://texturegroup.org/docs/getting-started.html

    这里主要说说遇到的问题,会持续更新,以及解决方法

    1.ASTableNode reloadData 界面闪烁

    解决:ASCellNode neverShowPlaceholders
    <code>
    class DetailCellNode: ASCellNode {
    ....
    override init() {
    super.init()
    self.neverShowPlaceholders = true
    ...
    }
    ....
    }
    </code>

    2.ASTableNode reloadData 动画很奇怪,不想要动画

    解决:可以用 tableNode.performBatchUpdates(nil, completion: nil) [等同于 tableNode.beginUpdate & tableNode.endUpdate] 替代 tableNode.reloadData()

    3.ASButtonNode 不能设置 button type

    解决:不要使用ASButtonNode,会没有高亮的默认效果
    <code>
    let buttonNode = ASDisplayNode { () -> UIButton in
    let button = UIButton(type: .system)
    ......
    return button
    }
    if let button = buttonNode.view as? UIButton {
    button.addTarget()
    }
    </code>

    未完待续......

    相关文章

      网友评论

        本文标题:AsyncDisplayKit 使用心得

        本文链接:https://www.haomeiwen.com/subject/agkjkxtx.html