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
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).
When setting this property, minimumScaleFactor MUST be set too (a good default is 0.5).
var adjustsFontSizeToFitWidth: Bool { get set }
@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.
var allowsDefaultTighteningForTruncation: Bool { get set }
@property(nonatomic) BOOL allowsDefaultTighteningForTruncation;
Source.