【问题标题】:iOS - Dynamic Type and Interface BuilderiOS - 动态类型和界面生成器
【发布时间】:2015-08-18 20:45:40
【问题描述】:

尝试实现对动态类型的支持并遇到问题。我在 Interface Builder 中的标签或其他东西上设置了我想使用的样式。我注册了 UIContentSizeCategoryDidChangeNotification,在处理程序中,我将标签的字体设置为……什么?我怎么知道要使用什么样式?不应该有一个访问器可以让我找到它吗?如果不是,我必须把它放在两个地方,这意味着它们会不同步,我会很生气。有什么想法吗?

【问题讨论】:

    标签: ios interface-builder accessibility dynamic-type-feature


    【解决方案1】:

    我认为这不会让您满意,但请将字体设置为 [UIFont preferredFontForTextStyle:UIFontTextStyleTitle2 或您在 Interface Builder 中设置的任何样式。

    忽略 Interface Builder 中的设置。它甚至不值得设置。 Interface Builder 是(大部分)static 表示视图初始状态,但这是 Dynamic 类型。

    您可以继承 UILabel 以使其动态化,和/或加入我们在代码中设置视图的阴暗面。

    【讨论】:

      【解决方案2】:

      从 iOS 10 开始,无需遵循此基本原理,因为 adjustsFontForContentSizeCategory 属性允许根据设置中选择的内容类型大小设置 automatic scaling 的字体大小。

      所有的文本样式在Apple reference site 和它们的size variations 中都有很好的定义。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-03-21
        • 1970-01-01
        • 2012-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多