2016-02-06 44 views
0
UIFont.systemFontOfSize(20, weight: UIFontWeightUltraLight) 

當我使用這個字體,UIFontWeightUltraLight,它僅在大小爲20或更大變得超輕。這是什麼原因,並有一個解決方案,以獲得更小尺寸的超輕型?Systemfont(舊金山)和超輕

回答

2

事實上「系統字體」缺少以下尺寸20 3點的權重:超輕,薄,和黑色:

font weights at size 19 and 20

安東尼Cavedoni討論了這個在WWDC 2015 Session 804: Introducing the New System Fonts

兩個家族有兩種稱爲光學尺寸的切割,它們是文字和顯示,我將在第二個時間討論這些。所有的字體都有6個文本系列的權重和9個顯示的權重。

及更高版本:

因此,有在SF和SF緊湊型兩個不同的字體系列。它們被稱爲顯示和文本,並且它們用於不同的點大小。系統會自動在兩者之間切換,因此您無需採取任何措施。

後來還是:

兩個在20點之間的系統切換,

有在談的顯示和文字大小之間的區別其它更多地方。 在你決定在小尺寸的情況下強制Ultra Light是一個好主意之前,你應該注意整件事情。

無論如何,在20號及以上尺寸,它使用顯示光學尺寸,它具有所有九個權重。在大小20以下,它使用文字光學尺寸,其僅具有六個重量輕的重物。

您可以通過名稱明確要求使用顯示光學尺寸。但是,這個名字沒有記錄,Apple顯然不打算讓它使用它,所以他們可以在將來更改名稱,甚至可以在未來的發行版中使名稱完全不可用。在真正的應用程序中使用這是一個壞主意,你絕對不應該這樣做。

let font = UIFont(name: ".SFUIDisplay-Ultralight", size: size) 

結果:

display font weights

+0

謝謝你,優秀的解釋。猜猜我不會使用超薄的小尺寸。 –

相關問題