我们都知道如何创建动态的UILabel字体(单线) -创建单一尺寸动态的UILabel字体
lbl.adjustsFontSizeToFitWidth = true
lbl.numberOfLines = 1
lbl.minimumScaleFactor = 0.1
lbl.baselineAdjustment = UIBaselineAdjustment.AlignCenters
lbl.textAlignment = NSTextAlignment.Center
的问题是,它给每个给定的字符串不同的结果。因此,例如,如果我有一个字符串"Hello"
和"Hello World"
,则计算的字体大小将会不同。我需要为所有字符串创建具有单一大小的动态字体。从我的项目
示例:从iPhone 6
例内置摄像头的效果(正如你可以看到所有的UILabels字体大小一致):
什么我在想什么?
基本上我知道什么是我会有的最大的字符串。所以我想不知怎么计算(在一个有效的方式)字体大小最大的字符串在给定的CGSIze。所以它会一直保持在界限内。 有什么建议吗?
嘿马特,谢谢你的评论。我知道这不是正确的使用方式*如果*您正在寻找相同的字体大小,显然。我只是把它放在那里,所以人们不会建议这种方法。基本上我需要做什么(以一种有效的方式)。使用框架大小(UILabel框架)和给定的字符串(包括字体名称) - >获取所需的字体大小 –
我已经回答了。只需做一个快速循环,比如说10种不同的尺寸。没有效率低下。它不会需要一毫秒。相信我。我已经完成了数十亿次。 – matt
是的。那是我打算做的,只是想尝试获得更好的结果。现在我们有iPhone 4到iPad视网膜 - >巨大的差异。即时通讯使用autoLayout来设置我的视图,它都是相对于屏幕框架大小。因此,对于更大的屏幕,它可能会运行10次以上 –