我有一个名为Poppin的字体-粗体(你可以在谷歌字体上找到它),在iOS 11中显示错误。在这里,您可以看到iOS 10的截图:

以及iOS 11的截图:

显示的四种字体如下:
我的错误是波平斯Bold通过代码。我的代码是:
label1.font = UIFont(name: "Poppins-Regular", size: 30)
label2.font = UIFont(name: "Poppins", size: 30)这怎么可能呢?
我在项目中打印了字体,这就是我的结果:
字体族名=Poppin 字体名称=[“Poppins正则”,“Poppin”]
发布于 2017-10-08 17:49:28
你的打印文件解释了这个问题。“Poppin”是一个姓氏。如果同时具有Poppin正则字体和Poppins,则姓氏默认为普通字体。这将阻止您访问Poppins字体的名称,(不幸的是)是“Poppin”。
相反,使用字体描述符将Poppin常规更改为Poppins:
let font = UIFont(name: "Poppins-Regular", size: 30)!
let desc = font.fontDescriptor
let desc2 = desc.withSymbolicTraits(.traitBold)!
let font2 = UIFont(descriptor: desc2, size: 0)
self.lab.font = font2发布于 2017-12-01 13:25:43
我可能有点晚了,但如果你的问题仍然相关,问题可以通过更新字体文件从https://fonts.google.com/specimen/Poppins解决。您还需要使用“Poppins Bold”字体名而不是“Poppin”。
https://stackoverflow.com/questions/46633882
复制相似问题