I am working on an ios application. I am adding the auto-layout programmatically to 2 labels.
I need to add a constraint to make them equal width.
I know how to fix the width of a label by using :
constraint = [NSLayoutConstraint
constraintWithItem:myLabel
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem: nil
attribute:NSLayoutAttributeNotAnAttribute
multiplier:1.0f
constant:200.0f];
That would fix the label size to a constant. But I have 2 labels and I want them to have equal size without having to set a constant.
An NSLayoutConstraint specifies the relationship between two layout attributes (FirstAttribute and SecondAttribute, both of which are of type NSLayoutAttribute) in a constraint-based layout. The relationship consists of: A NSLayoutRelation (e.g., GreaterThanOrEqual)
Auto Layout defines margins for each view. These margins describe the preferred spacing between the edge of the view and its subviews. You can access the view's margins using either the layoutMargins or layoutMarginsGuide property.
It turned out I just have to do the following:
constraint = [NSLayoutConstraint
constraintWithItem:myLabel
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem: otherLabel
attribute:NSLayoutAttributeWidth
multiplier:1.0f
constant:0];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With