- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
UIFont.systemFontOfSize(20, weight: UIFontWeightUltraLight)
当我将此字体与 UIFontWeightUltraLight
一起使用时,只有当字号为 20
或更大时,它才会变得超轻。这是什么原因,是否有解决方法可以让超轻量级的尺寸更小?
最佳答案
事实上,“系统字体”缺少 20 号以下的三种粗细:超轻、细和黑色:
Antonio Cavedoni 在 WWDC 2015 Session 804: Introducing the New System Fonts 中对此进行了讨论:
Both families have two cuts that are called optical sizes, and they are text and display, and I will talk about these in a second. And all of the fonts have six weights for the text families and nine for the display ones.
之后:
So there are two distinct font families in SF and SF Compact. They are called Display and Text, and they are used at different point sizes. The system automatically switches between the two for you so you don't have to do anything to adopt them.
之后还有:
The system switches between the two at 20 points,
关于显示和文本大小之间的差异的讨论还有很多。 在决定在小尺寸上强制使用 Ultra Light 是个好主意之前,您应该观察整个过程。
无论如何,在 20 号及以上,它使用显示光学尺寸,它具有所有九个重量。在 20 号以下,它使用文本光学尺寸,只有从轻到重的六个权重。
您可以通过按名称明确要求来强制使用显示光学尺寸。但是,该名称未记录在案,Apple 显然不打算让您使用它,因此他们将来可能会更改名称,甚至在未来的版本中完全无法使用该字体的名称。在真正的应用程序中使用它是一个坏主意,你绝对不应该这样做。
let font = UIFont(name: ".SFUIDisplay-Ultralight", size: size)
结果:
关于swift - Systemfont(旧金山)和 UltraLight,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35242973/
UIFont.systemFontOfSize(20, weight: UIFontWeightUltraLight) 当我将此字体与 UIFontWeightUltraLight 一起使用时,只有当
我是一名优秀的程序员,十分优秀!