Evenly Space UIViews of equal sizes in superview u

2019-01-29 00:38发布

问题:

I am in a need of having the series of buttons to be evenly placed in superview Horizontally using Auto Layout. Here, I want to keep the sizes of the subviews same, only the center of the subviews will be placed in such a way that there is equal number of space between them.

Note: I dont want to set the Size of the superview, I want every thing to be Auto Layout-ed.

Please Help, I am stuck !!

Thanks!!

回答1:

You can create as many UIView's as you have buttons, and center the buttons inside the views, the views can be aligned back to back, using this code:

[constraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[view1][view2][view3]|"
                                                                         options:0
                                                                         metrics:nil
                                                                           views:views]];

Make sure you first remove existing constraints from the superview using:

[self.view removeConstraints:self.view.constraints];

and in the viewDidLoad turn off auto resizing conversion:

[self.view setTranslatesAutoresizingMaskIntoConstraints:NO];