2017-08-17 5 views
0

コントロールのASdisplayNodeをセルと非常に一致させる方法を教えてください。コントロールASdisplayNodeの高さはセルの高さと一致します

- (ASLayoutSpec *)layoutSpecThatFits:(ASSizeRange)constrainedSize{ 
NSMutableArray *rightArray =[[NSMutableArray alloc]initWithObjects:_titleNode, _descNode,nil]; 
[rightArray addObjectsFromArray:_replayNodes]; 
ASStackLayoutSpec *verStackLayout = [ASStackLayoutSpec stackLayoutSpecWithDirection:ASStackLayoutDirectionVertical spacing:8 justifyContent:ASStackLayoutJustifyContentStart alignItems:ASStackLayoutAlignItemsStart children:rightArray]; 
verStackLayout.style.flexGrow = YES; 
verStackLayout.style.flexShrink = YES; 
self.dateNode.style.preferredSize = CGSizeMake(130 ,50);//How high is the height of cell? 
self.dateNode.style.flexShrink = YES; 
ASStackLayoutSpec *horStackLayout = [ASStackLayoutSpec stackLayoutSpecWithDirection:ASStackLayoutDirectionHorizontal spacing:10 justifyContent:ASStackLayoutJustifyContentStart alignItems:ASStackLayoutAlignItemsStart children:@[self.dateNode,verStackLayout]]; 
horStackLayout.style.flexShrink = YES; 
return horStackLayout; 
} 

enter image description here

+0

外観:https://github.com/TextureGroup/Texture/tree/master/examples/VerticalWithinHorizo​​ntalScrolling – Bimawa

+0

ありがとうございましたが、それは私の問題ではありません。私の行は、ASTableNode-cellの高さによって異なります。固定値ではありません。 – freda

答えて

0

このコードを試してみて、あなたが得たものを教えてください。この例で

- (ASLayoutSpec *)layoutSpecThatFits:(ASSizeRange)constrainedSize{ 
NSMutableArray *rightArray =[[NSMutableArray alloc]initWithObjects:_titleNode, _descNode,nil]; 
[rightArray addObjectsFromArray:_replayNodes]; 
ASStackLayoutSpec *verStackLayout = [ASStackLayoutSpec stackLayoutSpecWithDirection:ASStackLayoutDirectionVertical spacing:8 justifyContent:ASStackLayoutJustifyContentStart alignItems:ASStackLayoutAlignItemsStretch children:rightArray]; 
verStackLayout.style.flexGrow = YES; 
verStackLayout.style.flexShrink = YES; 
self.dateNode.style.flexShrink = YES; 
ASStackLayoutSpec *horStackLayout = [ASStackLayoutSpec stackLayoutSpecWithDirection:ASStackLayoutDirectionHorizontal spacing:10 justifyContent:ASStackLayoutJustifyContentStart alignItems:ASStackLayoutAlignItemsStretch children:@[self.dateNode,verStackLayout]]; 
horStackLayout.style.flexShrink = YES; 
horStackLayout.style.flexGrow = YES; 
horStackLayout.style.alignSelf = ASStackLayoutAlignItemsStretch; 
return horStackLayout; 
} 
+0

self.dateNodeはpreferredSizeではありません。表示することはできません。 – freda

+0

ノードのサイズを計算できません:constrainedSizeは無限大で、ノードは-calculateSizeThatFits:をオーバーライドしません。またはpreferredSizeを指定します。 style.preferredSizeを設定してみてください。ノード:<< ASDisplayNode:0x7fd9f270a280 >>アルファ:1.00 isLayerBacked:1フレーム:{0、0}、{0、0}}(null)> – freda

+0

@fredaはシンプルな例を共有できます。 – Bimawa

関連する問題