给定UILabel
宽度和字符串。获得恰好适合标签的pointSize的最佳方法是什么?
示例:我的标签宽度为300像素,字符串为@"Hello, my name is byte"
。我想找出最大的字体pointSize
,而不是在300 px中截断它。
我正在探索的方式:
1。)创建一个虚拟UILabel
并将adjustsFontSizeToFitWidth
设置为YES
。然后从中获取pointSize。这看起来非常低效。
2.。)使用不同的值循环fontSize测试,直到大小返回相当于1行。似乎仍然有点矫枉过正。
有没有更好的方法来解决这个问题?
答案 0 :(得分:0)
您是否尝试过调用sizeToFit?
UIlabel * label = .....
[label sizeToFit];
希望有所帮助!
来自文档
sizeToFit 调整接收器视图的大小并移动它,使其只包含其子视图。
您不应该覆盖此方法。如果要更改视图的默认大小调整信息,请改写sizeThatFits:。该方法执行任何所需的计算并将它们返回到此方法,然后进行更改。