编辑:链接的“重复”问题仅涉及计算文本矩形.我需要在标签缩放之后计算实际字体大小,而不是字符串大小.
此方法现已弃用:
size = [self sizeWithFont:font // 20 minFontSize:minFontSize // 14 actualFontSize:&actualFontSize // 16 forWidth:maxWidth lineBreakMode:self.lineBreakMode];
如何在iOS 7中计算UILabel的字体大小,以缩小文字大小以适应?
解决方法
我有同样的问题,我需要知道实际的大小,使其他UILabels在我的UIView匹配.
我知道这不是一个完美的解决方案,但也许对您而言非常有用.
我的解决方案是:而不是使用adjustFontSizeToFitWidth我计算“手动”的大小.
CGSize initialSize = [_label.text sizeWithAttributes:@{NSFontAttributeName:_label.font}]; while ( initialSize.width > _label.frame.size.width ) { [_label setFont:[_label.font fontWithSize:_label.font.pointSize - 1]]; initialSize = [_label.text sizeWithAttributes:@{NSFontAttributeName:_label.font}]; } CGFloat actualSize = _label.font.pointSize;