Diseño automático VFL: alinear todos los arrastres en una restricción horizontal

Tengo cuatro tags astackdas una debajo de la anterior, pero aligerando su línea de base con la parte superior de su vista de contenido, no con un espacio vertical entre sí.

Lo hago por el código de esta manera

[contentView addConstraint:[NSLayoutConstraint constraintWithItem:topFirstLabel_ attribute:NSLayoutAttributeBaseline relatedBy:NSLayoutRelationEqual toItem:contentView attribute:NSLayoutAttributeTop multiplier:1.0f constant:20.0f]]; [contentView addConstraint:[NSLayoutConstraint constraintWithItem:topSecondLabel_ attribute:NSLayoutAttributeBaseline relatedBy:NSLayoutRelationEqual toItem:contentView attribute:NSLayoutAttributeTop multiplier:1.0f constant:47.0f]]; [contentView addConstraint:[NSLayoutConstraint constraintWithItem:topThirdLabel_ attribute:NSLayoutAttributeBaseline relatedBy:NSLayoutRelationEqual toItem:contentView attribute:NSLayoutAttributeTop multiplier:1.0f constant:70.0f]]; [contentView addConstraint:[NSLayoutConstraint constraintWithItem:topFourthLabel_ attribute:NSLayoutAttributeBaseline relatedBy:NSLayoutRelationEqual toItem:contentView attribute:NSLayoutAttributeTop multiplier:1.0f constant:87.0f]]; 

Ahora, quiero que todas las tags estén alineadas por el espacio final con su supervisión.

¿Puedo hacer eso con una cadena única de VFL? Algo así, aunque este ejemplo bloqueará la aplicación:

 NSDictionary *views = NSDictionaryOfVariableBindings(contentView, topFirstLabel_, topSecondLabel_, topThirdLabel_, topFourthLabel_); NSDictionary *metrics = @{ @"bigMargin" : @12 }; [contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[topFirstLabel_][topSecondLabel_][topThirdLabel_][topFourthLabel_]-bigMargin-|" options:NSLayoutFormatAlignAllTrailing metrics:metrics views:views]]; 

    Esta biblioteca puede ayudarlo. Utiliza un concepto de disposition lineal vertical y puede agregar rellenos según sea necesario.

    No creo que puedas hacer esto en una sola llamada.

    Probablemente puedas hacer algo como esto:

     for ( NSString* viewName in views.allKeys ) { [contentView addConstraints: [NSLayoutConstraint constraintsWithVisualFormat: [NSString stringWithFormat: @"H:[%@]-bigMargin-|", viewName], options:NSLayoutFormatAlignAllTrailing metrics:metrics views:views]; }