UIView with dynamic height multiple UILabel
- Set the Lines property of both labels to 0 in interface builder.
- Make sure there is no constraint for height of any of the labels or the uiview.
- Make sure there are no constraints on uiview which force it to a certain size, for example, if you have a constraint on uiview for certain distance from top of superview and another constraint of certain distance from bottom of superview, it will not work.
- Try changing the text of labels in code and height should automatically adjust.
I made a demo for you according to your requirement. Download it from below link,
Autoresize UIView and UILabel
Step by Step Guide :-
Step 1 :- Set constrain to UIView
1) Leading 2) Top 3) Trailing (From mainview)
Step 2 :- Set constrain to Label 1
1) Leading 2) Top 3) Trailing (From it's superview)
Step 3 :- Set constrain to Label 2
1) Leading 2) Top 3) Trailing (From it's superview)
Step 4 :- Most tricky give bottom to UILabel from UIView.
In Xcode 10 and above - Select your UIView and Label after that from the Align Constraint section select Bottom Edges constraint.
Step 5 :- (Optional) Set constrain to UIButton
1) Leading 2) Bottom 3) Trailing 4) Fixed Height (From mainview)
Output :-
Note :- Make sure you have set Number of lines =0 in Label property.
Edit1 :- If you want to increase size with BottomConstrain (>=) please check below Image.
I hope this info enough to understand Autoresize UIView according to UILabel's height and Autoresize UILabel According to text.