我想在ASCollectionNode
中制作单元格全宽,但我会按内容调整大小CellNodes
。
我已经实施了layoutSpecThatFits:
。
答案 0 :(得分:0)
我实现这一目标的方法是在ASStaticLayoutSpec中添加全宽度的额外节点。
在标题中:
@property (strong, nonatomic) ASDisplayNode *stretchNode;
在init
中 _stretchNode = [ASDisplayNode new];
[self addSubnode:_stretchNode];
layoutSpecThatFits:
- (ASLayoutSpec *)layoutSpecThatFits:(ASSizeRange)constrainedSize {
_stretchNode.sizeRange = ASRelativeSizeRangeMakeWithExactCGSize(CGSizeMake(constrainedSize.max.width, 0.5f));
NSArray *children = @[];
ASStackLayoutSpec *mainStackLayoutSpec = [ASStackLayoutSpec stackLayoutSpecWithDirection:ASStackLayoutDirectionVertical spacing:0 justifyContent:ASStackLayoutJustifyContentStart alignItems:ASStackLayoutAlignItemsStart children:children];
ASStaticLayoutSpec *mainStaticLayoutSpec = [ASStaticLayoutSpec staticLayoutSpecWithChildren:@[mainInsetsLayoutSpec, _stretchNode]];
return mainStaticLayoutSpec;
}
这里重要的部分是将您的布局和stretchNode包装在ASStaticLayoutSpec中。您可以将StackLayout替换为您想要的任何内容。