【发布时间】:2014-03-03 15:28:17
【问题描述】:
我正在寻找一种找到正确字体大小的方法,以便以正确的宽度将文本绘制到地图上(随着用户放大和缩小地图而改变)。我曾经使用以下代码:
+(float) calulateHeightFromMaxWidth:(NSString*)text withMaxWidth:(float)maxWidth withMaxFontSize:(float)maxFontSize{
CGFloat fontSize;
[text sizeWithFont:[UIFont systemFontOfSize:maxFontSize] minFontSize:1 actualFontSize:&fontSize forWidth:maxWidth lineBreakMode:NSLineBreakByTruncatingTail];
return fontSize;
}
此方法总是返回正确的答案,但是在 iOS 7 中描述了 sizeWithFont,我找不到在给定宽度后会返回字体大小的替换。我在这个网站上发现了很多帖子,它们会在你指定尺寸后给你宽度,但我找不到相反的 (sizeWithAttributes:)。我试图避免一种解决方案,该解决方案涉及遍历不同的字体大小,直到找到合适的字体,因为这种方法可以称为 100 次或 1000 次平局。
【问题讨论】: