IOS中minimumFontSize和minimumScaleFactor之间的区别

时间:2016-04-12 09:38:07

标签: ios objective-c xcode

当我在xcode 7.2中打开现有项目时,我收到一条警告,称ios 6.0中不推荐使用“最小字体大小”。

我已将其更改为最小比例因子。

 labelDescription.numberOfLines  = 2;
 //labelDescription.minimumFontSize=10;       
 labelDescription.minimumScaleFactor = 10;

将属性更改为最小比例因子是否会产生与最小字体大小相同的效果?

3 个答案:

答案 0 :(得分:4)

两者都相同,但从{6.0}开始,minimumFontSize的{​​{1}}属性已弃用。

UILabel的替代方案是minimumFontSize。如果您将minimumScaleFactor分配给minimumFontSize/defaultFontSize,则其工作方式与minimumScaleFactor相同。

代码如下 - 例如字体大小为30.0,如果您希望最小字体大小为12.0

minimumFontSize

答案 1 :(得分:1)

来自Apple的Documentation

<强> minimumScaleFactor

使用此属性指定当前字体大小的最小乘数,以产生在显示标签文本时使用的可接受字体大小。如果为此属性指定值0,则使用当前字体大小作为最小字体大小。 (适用于iOS 6.0及更高版本)

<强> minimumFontSize

当绘制可能不适合标签边界矩形的文本时,可以使用此属性来防止接收器将字体大小减小到不再清晰的点。此属性的默认值为0.0 。如果为标签启用字体调整,则应始终增加此值。仅当numberOfLines属性设置为1时,此属性才有效。(在iOS 6.0中已弃用)

答案 2 :(得分:0)

它产生相同的效果,但您需要为最小比例因子提供适当的值。

您应该使用x&gt;之间的值0&amp;&amp; x&lt; = 1.这意味着如果您的字体是20,并且您的比例因子是0.5,则用于缩放的最小字体大小将为10.