当 pointSize 为 0 时,UIFont 未设置正确的字体名称

UIFont doesn't set the correct font name when pointSize is 0

为什么当大小设置为零时,UIFont 会错误地打印出字体名称? 当我将大小设置为大于零的任何值时,就会输出正确的字体名称。这种行为背后是否有特殊原因,或者这是一个真正的错误。

UIFont* f1 = [UIFont fontWithName:@"HelveticaNeue-Thin" size:0];
NSLog(@"%@",f1);
UIFont* f2 = [UIFont fontWithName:@"HelveticaNeue-Thin" size:1];
NSLog(@"%@",f2);

输出:

<UICTFont: 0x7fb90c988e10> font-family: "Helvetica"; font-weight: normal; font-style: normal; font-size: 0.00pt
<UICTFont: 0x7fad92177a90> font-family: "HelveticaNeue-Thin"; font-weight: normal; font-style: normal; font-size: 1.00pt

the documentation中:

fontSize The size (in points) to which the font is scaled. This value must be greater than 0.0.

您正在尝试实现不受支持的行为。 'incorrect' 结果是意料之中的。