首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS11中的字体显示错误

iOS11中的字体显示错误
EN

Stack Overflow用户
提问于 2017-10-08 17:18:48
回答 2查看 2.1K关注 0票数 2

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

以及iOS 11的截图:

显示的四种字体如下:

  • 波平斯带故事板的树胶
  • 带有故事板的Helvetica Bold
  • Poppin正则通过代码
  • Poppins通过代码

我的错误是波平斯Bold通过代码。我的代码是:

代码语言:javascript
复制
label1.font = UIFont(name: "Poppins-Regular", size: 30)
label2.font = UIFont(name: "Poppins", size: 30)

这怎么可能呢?

我在项目中打印了字体,这就是我的结果:

字体族名=Poppin 字体名称=[“Poppins正则”,“Poppin”]

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-08 17:49:28

你的打印文件解释了这个问题。“Poppin”是一个姓氏。如果同时具有Poppin正则字体和Poppins,则姓氏默认为普通字体。这将阻止您访问Poppins字体的名称,(不幸的是)是“Poppin”。

相反,使用字体描述符将Poppin常规更改为Poppins:

代码语言:javascript
复制
    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
票数 2
EN

Stack Overflow用户

发布于 2017-12-01 13:25:43

我可能有点晚了,但如果你的问题仍然相关,问题可以通过更新字体文件从https://fonts.google.com/specimen/Poppins解决。您还需要使用“Poppins Bold”字体名而不是“Poppin”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46633882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档