Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to make UILabel autosize text in storyboard (or interface builder), NOT programmatically

Every time I click-and-drag a UILabel to storyboard, and then add text to Text field, the text is cut off, so I then have to click-and-drag the UILabel to stretch it big enough so that the text appears.

I can't figure out how to make the UILabel automatically get big enough to fit the text.

This would save time while designing new views.

like image 364
Doug Null Avatar asked Jun 14 '13 14:06

Doug Null


People also ask

What is Uilabel in Swift?

A view that displays one or more lines of informational text.


3 Answers

On any element in Interface Builder you can select the element and hit...

Editor > Size to Fit Content (keyboard shortcut: CMD+=)

This will do a "sizeToFit" on the selected element. Labels will fit their text size, image view will resize to the image size, etc...

like image 96
Fogmeister Avatar answered Oct 05 '22 18:10

Fogmeister


In Xcode 6.1, I had to set Content Compression Resistance Priority to a higher value, likely because I have other constraints that were conflicting, or causing the sizeToFit option to be disabled.

Content Compression Resistance PriorityBefore: BeforeAfter: After

like image 43
Shiprack Avatar answered Oct 05 '22 20:10

Shiprack


For the text label:

Set Lines to 0

Set Height to Greater than or equal to 30 (or other value)

Now the height will be adjusted based on the lines number.

like image 43
Dan Alboteanu Avatar answered Oct 05 '22 18:10

Dan Alboteanu