【问题标题】:UIFont doesn't set the correct font name when pointSize is 0当 pointSize 为 0 时,UIFont 没有设置正确的字体名称
【发布时间】:2015-08-12 13:40:18
【问题描述】:

为什么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

【问题讨论】:

    标签: ios uifont


    【解决方案1】:

    the documentation:

    fontSize 字体缩放的大小(以磅为单位)。该值必须大于 0.0。

    您正在尝试实现不受支持的行为。预期会出现“不正确”的结果。

    【讨论】:

    • 这完全有道理,因为现实世界中的字体大小是无符号数字。对我来说,他们仍然会给你一个不同的字体名称似乎很奇怪。为什么不直接给出正确的呢?我想这归结为 Apple 的实施,我看不到。
    • @s.ka,我想这归结为 Helvetica 是 iOS7 之前的默认系统字体。在这样的 undef 时刻仍然潜伏着惹恼你。
    猜你喜欢
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多