`minimumScaleFactor` 不会改变 `UILable` 的size
根据文档,当 minimumScaleFactor
设置为小数,并且 adjustsFontSizeToFitWidth
为 true
时,系统会调整 fontsize 来尽可能确保可以显示完整的文字。
Normally, the label text is drawn with the font you specify in the font property. If this property is set to true, and the text in the text property exceeds the label’s bounding rectangle, the label reduces the font size until the string fits or the minimum font scale is reached.
但是 label 的整体 size 会不会改变呢?
实验及结果
我做了四组对照,每一组都有两个label,所有的label宽度都是相同的,minimumScaleFactor
设置为 0.5, adjustsFontSizeToFitWidth
为true
- 上面的label的文字很短,所以不需要调整font的大小。 下面label的顶部距离下面label底部距离是5.
- 上面label文字很长,所以需要调整font的大小。下面label的顶部距离下面label底部距离是5.
- 上面label文字很长,所以需要调整font的大小。下面label通过
Baseline
来约束。 - 上面label文字很短,所以不需要调整font的大小。下面label通过
Baseline
来约束。
结果如下
1. 虽然第二组中,label很长,font很小,但是大小和第一组的相同,没有变化。
2. 第三和第四组比较,虽然用来显示的font不同,但是用来决定distance between the two anchors
并没有变化。
link
-demo
下起雨,也要勇敢前行