ios - ASCellNode 内部水平布局显示错误

标签 ios swift asyncdisplaykit

我使用 AsyncDisplayKit 编写了这段代码:

override open func layoutSpecThatFits(_ constrainedSize: ASSizeRange) -> ASLayoutSpec {

    let horizonTitleDate = ASStackLayoutSpec(direction: .horizontal, spacing: 5, justifyContent: .start, alignItems: ASStackLayoutAlignItems.start, children: [title,space, datetime])
    let verticalMess = ASStackLayoutSpec(direction: .vertical, spacing: 5, justifyContent: .start, alignItems: ASStackLayoutAlignItems.start, children: [horizonTitleDate, desc])
    let horizonMess = ASStackLayoutSpec(direction: .horizontal, spacing: 5, justifyContent: .start, alignItems: ASStackLayoutAlignItems.start, children: [avatar, verticalMess])


    //desc.style.width = ASDimensionMake(constrainedSize.max.width - 100)
    desc.style.alignSelf                 = .stretch
    desc.style.flexGrow                  = 1.0
    desc.style.flexShrink                  = 1.0
    verticalMess.style.alignSelf         = .stretch
    verticalMess.style.flexGrow          = 1.0
    horizonTitleDate.style.alignSelf     = .stretch
    let insets  = UIEdgeInsetsMake(5, 5, 5, 5)
    return ASInsetLayoutSpec(insets: insets, child: horizonMess)

}

我得到这个:

enter image description here

如你所见,黄色的 TextNode,比 cellNode 大,而且没有变成 2 行,在纵向模式下是这样的:

enter image description here

如果我只绘制没有头像的垂直布局,我会得到正确的 View :

enter image description here

怎么了?谢谢!

最佳答案

我没有看到 verticalMessflexShrink。尝试只添加这一行:

    verticalMess.style.flexShrink                  = 1.0

关于ios - ASCellNode 内部水平布局显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48190100/

相关文章:

ios - 在 Swift 中调用 webAPI & fatal error : dictionary literal contains duplicate keys

ios - 如何使用英语以外的语言,但仍然使用英语的 NSLocalizedString?

ios - 如何找出哪个约束不起作用或产生问题

ios - 无法以编程方式同时满足约束条件。 swift iOS

ios - nodeBlockForRowAtIndexPath 中的异步调用

ios - 如何通过 Objective-C 添加自定义图像以替换 iOS MKMapView 中的默认图钉?

ios - 从从 Parse.com 中提取的数组中获取索引 - fatal error : Cannot index empty buffer

ios - 是否有可能检测到所有手势都发生在一个地方?

ios - 更改 NSAttributedString html 链接颜色

ios - ASTextNode 中没有 LinkAttribute 的 TouchUpInside