Je viens de commencer à jouer avec ComponentKit et j'ai quelques difficultés pour aligner 2 étiquettes horizontalement. Je veux le premier près de la marge de gauche et le deuxième près de la droite.Comment utiliser CKStackLayoutComponent pour aligner horizontalement deux étiquettes?
Avec la mise en page automatique, je peux le faire avec cet ensemble de contraintes:
H:|-0-[_label1]-[_label2]-0-|
Tout ce que j'ai essayé ne semble pas fonctionner, je reçois toujours le même résultat: les deux étiquettes alignés à gauche .
C'est le composant super simple:
+ (instancetype)newWithText1:(NSString *)text1 text2:(NSString *)text2
{
return [super
newWithComponent:
[CKStackLayoutComponent
newWithView:{}
size:{}
style:{
.direction = CKStackLayoutDirectionHorizontal,
.alignItems = CKStackLayoutAlignItemsCenter
}
children:{
{
[CKLabelComponent
newWithLabelAttributes:{
.string = text1,
.font = [UIFont systemFontOfSize:20],
.color = [UIColor blackColor]
}
viewAttributes:{
{@selector(setBackgroundColor:), [UIColor clearColor]}
}],
.alignSelf = CKStackLayoutAlignSelfStretch
},
{
[CKLabelComponent
newWithLabelAttributes:{
.string = text2,
.font = [UIFont systemFontOfSize:20],
.color = [UIColor redColor],
.alignment = NSTextAlignmentRight
}
viewAttributes:{
{@selector(setBackgroundColor:), [UIColor clearColor]}
}],
.alignSelf = CKStackLayoutAlignSelfStretch
}
}]];
}
Si quelqu'un a des conseils qui seraient grandement appréciés.
crédit pour cette question à Marco Sero, qui l'a publié à l'origine ici: https://github.com/facebook/componentkit/problèmes/62 –