我正在尝试在应用程序中支持 * 大字体辅助功能 *。有些地方我们使用NSAttributedString
来设置UILabel
的attributedText
。
在UILabel
上,我们设置了adjustsFontForContentSizeCategory = true
。另外,在属性中,我们使用UIFontMetrics
来允许标签适应大小的变化。
UIFontMetrics(forTextStyle: .caption2).scaledFont(for: UIFont.systemFont(ofSize: 11))
出版日期:
当我运行应用程序时,UILabel
按照设备当前的大小类别显示attributedText
。但是,当我从设备的辅助功能设置中更改大小类别时,UILabel
没有相应地更新。
如何解决此问题?
2条答案
按热度按时间6pp0gazn1#
我希望这是你使用的正确方法,因为这绝对是我遵守的方法(而且它很有效)。
我在
Interface Builder
(Xcode 13.4.1) 中创建了一个空白项目,如下所示:我将
UILabel
文本编码为NSAttributedString
,以遵循您的模式,并为Dynamic Type
特性添加一些其他内容:最后,我在
iPhoneProMax
(15.6.1)上得到了以下结果:我不知道您的代码中包含了什么,但是,根据这一原理,您现在可以在NSAttributedString中使用动态文本大小调整。
brtdzjyr2#
我遇到了同样的问题,我发现NSAttributedString中的settings .font导致标签不能根据辅助功能设置相应地调整大小。通过删除它并添加label.font属性,它工作得很好。