【问题标题】:Does adjustsFontForContentSizeCategory work for custom fonts?adjustsFontForContentSizeCategory 是否适用于自定义字体?
【发布时间】:2017-03-09 09:55:57
【问题描述】:

iOS 10 在UILabel 和其他adjustsFontForContentSizeCategory 上引入了一个新属性。设置后,它会自动调整标签的字体大小以尊重用户的Dynamic Type 设置。

文档是,啊,sparse。可以使此属性与自定义字体一起使用吗?

【问题讨论】:

    标签: ios accessibility ios10


    【解决方案1】:

    此属性适用于自定义字体。

    但是,对于自定义字体,系统只会调整字体的大小,而不是粗细/样式。它不知道您家庭中可用的不同自定义字体以及它们的名称。为了支持这一点,您需要一种稍微手动的方法:

    UIFontDescriptor *userFont = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleBody];
    float userFontSize = [userFont pointSize];
    UIFont *font = [UIFont fontWithName:@"MyFont-Style" size:userFontSize];
    

    并将该字体应用于您的标签。如果您有特定的尺寸/重量组合可用于不同的风格,您还需要使用这种手动方式......系统不是通灵的?

    【讨论】:

    • 例如,我如何告诉 iOS xxLarge 大小的“标题”应该是 MyCustomFont-SemiBold,24pt,如果这确实是我的设计师所要求的?
    • 我什至不明白这是如何工作的。您设置了自定义字体和大小,并勾选“自动调整字体”(今天 Xcode 8.3b4 中的新功能),然后呢?它假定您给出的尺寸是“正常”的,并从那里上下调整一个百分比?
    猜你喜欢
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 2018-03-30
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多