UIFont.systemFontOfSize(20, weight: UIFontWeightUltraLight)
當我使用這個字體,UIFontWeightUltraLight
,它僅在大小爲20
或更大變得超輕。這是什麼原因,並有一個解決方案,以獲得更小尺寸的超輕型?Systemfont(舊金山)和超輕
UIFont.systemFontOfSize(20, weight: UIFontWeightUltraLight)
當我使用這個字體,UIFontWeightUltraLight
,它僅在大小爲20
或更大變得超輕。這是什麼原因,並有一個解決方案,以獲得更小尺寸的超輕型?Systemfont(舊金山)和超輕
事實上「系統字體」缺少以下尺寸20 3點的權重:超輕,薄,和黑色:
安東尼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)
結果:
謝謝你,優秀的解釋。猜猜我不會使用超薄的小尺寸。 –