Lukas Lukas - 5 months ago 54
Objective-C Question

UILabel is not auto-shrinking text to fit label size

I have this strange issue, and im dealing with it for more than 8 hours now.. Depending on situation i have to calculate

UILabels
size dynamically,


e.g
my
UIViewController
receives an event and i change
UILabels
size. from bigger to smaller. The size of my
UILabel
gets smaller and i get the correct needed size, but the text in my
UILabel
stays the same, the same font size and etc. I need the font to get smaller, for the whole text to fit the
UILabel
. So the question is how to make the text to fit my label with
autoshrinking
or something like that?

In my
xib
,
UILabels
autoshrink
is checked, also number of lines is set to 0, and also my string has new line symbols (\n), and i've selected linebreakmode to
wordwrap
. Maybe anyone was in the same situation as i am now, and could help me? I would really appreciate that.

Thank's in advance!

EDIT:
UILabel
minimum font size is set to 10

Answer

In case you are still searching for a better solution, I think this is what you want:

A Boolean value indicating whether the font size should be reduced in order to fit the title string into the label’s bounding rectangle. (This property is effective only when the numberOfLines property is set to 1.)

@property(nonatomic) BOOL adjustsFontSizeToFitWidth

A Boolean value indicating whether spacing between letters should be adjusted to fit the string within the label’s bounds rectangle.

@property(nonatomic) BOOL adjustsLetterSpacingToFitWidth

Source: http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UILabel_Class/Reference/UILabel.html