Я использую AsyncDisplayKit для создания своих макетов.
Из рисунка ниже я не могу понять, почему RepliedChatView вверху не растягивается до конца для короткого текста, но отлично работает надлинный / многострочный текст.Как я могу это исправить?
![enter image description here](https://i.stack.imgur.com/cO301.jpg)
override public func layoutSpecThatFits(_ constrainedSize: ASSizeRange) -> ASLayoutSpec {
let stack = ASStackLayoutSpec()
stack.direction = .vertical
stack.style.flexShrink = 1.0
stack.style.flexGrow = 1.0
stack.setChild(chatReplyNode, at: 0)
stack.setChild(bubbleNode, at: 1)
let verticalSpec = ASBackgroundLayoutSpec()
verticalSpec.style.flexGrow = 1.0
verticalSpec.style.flexShrink = 1.0
verticalSpec.background = bubbleImageNode
let messageContent = MessageModel(mockMessage: message)
if(messageContent.message.count <= 20){
let horizon = ASStackLayoutSpec(direction: .horizontal, spacing: 10, justifyContent: .start, alignItems: ASStackLayoutAlignItems.start, children: [stack , timeNode])
verticalSpec.child = ASInsetLayoutSpec(
insets: UIEdgeInsets(
top: textNodeVerticalOffset,
left: textNodeVerticalOffset,
bottom: textNodeVerticalOffset,
right: textNodeVerticalOffset
),
child: horizon)
}else{
stack.setChild(timeNode, at: 2)
verticalSpec.child = ASInsetLayoutSpec(
insets: UIEdgeInsets(
top: 8,
left: textNodeVerticalOffset,
bottom: 5,
right: textNodeVerticalOffset
), child: stack)
}
//space it
let insetSpec = ASInsetLayoutSpec(insets: isOutgoing ? UIEdgeInsets(top: 1, left: 62, bottom: 5, right: 20) : UIEdgeInsets(top: 1, left: 20, bottom: 5, right: 62), child: verticalSpec)
let stackSpec = ASStackLayoutSpec()
stackSpec.direction = .vertical
stackSpec.style.flexGrow = 1.0
stackSpec.style.flexShrink = 1.0
stackSpec.justifyContent = .center
stackSpec.alignItems = isOutgoing ? .end : .start
stackSpec.spacing = 0
stackSpec.children = [insetSpec]
return stackSpec
}