ios - ASyncDisplayKit - 一个容器中的多个节点

标签 ios swift textures asyncdisplaykit

是否可以在一个容器内有多个纹理节点?

例如,我需要在屏幕的上半部分有一个 ASTableNode,在其下方有一个带有 UIView block 的 ASDisplayNode。

我尝试过使用 ASViewController 和 layoutSpecThatFits 返回 ASSTackLayoutSpec - 但两个子节点都没有出现在 View 上。

谢谢!

最佳答案

是的,可以将 ASTableNode 和 ASDisplayNode 放在同一个堆栈中。使用水平堆栈布局,将节点的 flexGrow 属性设置为相等的值(以便它们均匀增长)并在您的节点上将 automaticallyManagesSubnodes 设置为 true

override init() {
    ///Initialize nodes if not initialized on declaration
    super.init()
    automaticallyManagesSubnodes = true
}

override func layoutSpecThatFits(constrainedSize: ASSizeRange) -> ASLayoutSpec {
    let stack = ASStackLayoutSpec.vertical()
    stack.children = [tableNode, displayNode]
    tableNode.style.flexGrow = 1
    displayNode.style.flexGrow = 1

    ///For testing
    displayNode.backgroundColor = .red
    tableNode.backgroundColor = .blue
}

关于ios - ASyncDisplayKit - 一个容器中的多个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48121436/

相关文章:

c - 纹理三角形加载为纯色

iphone - 如何从 ios 中的 Nsstring 获取值?

ios - 如何使用 Xcode Instruments 自动化 WiFi 测试?

ios - Swift:每次出现 tableview 时如何重新加载新内容(例如数组)?

swift - 检查数组的所有值

swift - 在 SceneKit 中的平面上重复纹理

ios - MPMoviePlayerController 循环问题

ios - 使用 UrbanAirship iOS SDK 推送通知的自定义方法

ios - 更新到 Xcode 9 后导航栏按钮中的图像不呈现

xna - 如何在 XNA 中平铺 "link"