使用嵌套
ASStackLayoutSpec
使用AsyncDisplayKit,我正在尝试实现
所以我创建了一个垂直
asstacklayoutspec公司
有阿凡达和另一个水平
asstacklayoutspec公司
带有用户名、时间戳和文本
override func layoutSpecThatFits(_ constrainedSize: ASSizeRange) -> ASLayoutSpec {
// HEADER with username and timestamp
let spacer = ASLayoutSpec()
spacer.style.flexGrow = 1
let headerStackSpec = ASStackLayoutSpec.horizontal()
headerStackSpec.spacing = 2
headerStackSpec.alignItems = .baselineFirst
headerStackSpec.children = [userNode, spacer, timestampNode]
// CONTENT - HEADER and text
let contentStackSpec = ASStackLayoutSpec.vertical()
contentStackSpec.spacing = 2
contentStackSpec.children = [headerStackSpec, messageNode]
// MAIN - avatar and CONTENT
let mainStackSpec = ASStackLayoutSpec.horizontal()
mainStackSpec.spacing = 9
mainStackSpec.children = [avatarNode, contentStackSpec]
return ASInsetLayoutSpec(insets: UIEdgeInsets(top: 2, left: 10, bottom: 2, right: 10), child: mainStackSpec)
}
但结果不是我所期望的
看起来文本是无限的,没有适当的包装。时间戳也可能在右边的某个很远的地方超出了界限。
我尝试了不同的组合
.alignItems
和
.justifyContent
但我不能让它工作。