是否可以在一个容器中包含多个Texture节点?
例如,我需要在屏幕的上半部分有一个ASTableNode,在它下面有一个带有UIView块的ASDisplayNode。
我尝试使用带有layoutSpecThatFits的ASViewController,它返回一个ASSTackLayoutSpec - 但是这两个子节点都没有出现在视图中。
谢谢!
答案 0 :(得分:1)
是的,可以将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
}