首页 > 解决方案 > 界面生成器中具有动态类型的自定义字体

问题描述

我的情节提要中有几个视图,其中包含UILabels。这些标签设置为Automatically Adjusts Font并使用文本样式,如Bodyor Headline

我知道有这样的编程方法: https ://useyourloaf.com/blog/using-a-custom-font-with-dynamic-type/

let label = UILabel()
label.font = scaledFont.font(forTextStyle: textStyle)
label.adjustsFontForContentSizeCategory = true

但是,鉴于我已经布置了标签并设置了它们的文本样式,有没有办法在界面生成器中使用自定义字体和文本样式?或者也许以某种方式覆盖他们的字体系列,同时尊重他们已经设置的文本样式?

标签: swiftxcodeinterface-builder

解决方案


不,您需要使用程序化方法。但是,很容易编写一个遍历所有标签的小循环,并为每个标签获取已在界面生成器中设置的动态类型“角色”,并根据该“角色”和所需的自定义字体替换 UIFontMetrics 值。


推荐阅读