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

59,648

Solution 1

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...

Solution 2

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 Priority Before: Before After: After

Solution 3

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.

Share:
59,648
Doug Null
Author by

Doug Null

I'm a software inventor, architect, and coder around the California Silicon Valley, with over 40 years of software direction and engineering experience.

Updated on July 08, 2022

Comments

  • Doug Null
    Doug Null almost 2 years

    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.