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