2017-07-11 71 views
1

我正在Swift中編寫iOS應用程序,並且我想使用系統字體SF Pro。但是,我似乎無法弄清楚如何在設置文本斜體的同時設置字體重量。我知道這是可能的Helvetica Neue字體與試圖在iOS上獲得SF Pro顯示精簡斜體字

UIFont(name: "HelveticaNeue-UltraLightItalic", size: 24.0) 

但使用系統字體的時候,我只能似乎做一個或另一個像這樣

UIFont.italicSystemFont(ofSize: 24) 

UIFont.systemFont(ofSize: 75.0, weight: UIFontWeightThin) 

我已經在Font Book中看到了SF Pro顯示Thin Italic,並且我知道您可以在編輯Sketch和Photoshop等應用程序時使用它,但我還沒有找到讓iOS顯示它的方法。

回答

1

這裏有一個方法:

var fnt = UIFont.systemFont(ofSize: 75.0, weight: UIFontWeightThin) 
    if let dsc = fnt.fontDescriptor.withSymbolicTraits(.traitItalic) { 
     fnt = UIFont(descriptor: dsc, size: 0) 
    } 
    labelOne.font = fnt 

這應該給你的東西的基礎上 - 比如把它變成一個extension,使其靈活。

0
UIFont(name: "SanFranciscoText-LightItalic", size: 24.0) 

一般情況下,使用本網站的字體:http://iosfonts.com/

1

發現這個擴展here

extension UIFont { 

func withTraits(traits:UIFontDescriptorSymbolicTraits...) -> UIFont? { 
    guard let descriptorL = self.fontDescriptor.withSymbolicTraits(UIFontDescriptorSymbolicTraits(traits)) 
    else{ 
     return nil 
    } 
    return UIFont(descriptor: descriptorL, size: 0) 
} 

func boldItalic() -> UIFont? { 
    return withTraits(traits: .traitBold, .traitItalic) 
} 

使用擴展爲:

label.font = label.font.boldItalic() 
相關問題