我想要一个浅色字体的斜体版本,例如“HelveticaNeue-Light”。
使用 afontDescriptor
给了我“常规”“Helvetica Neue”的斜体版本,而不是斜体“HelveticaNeue-Light”。我可以检索fontDescriptor.fontAttributes
并更新UIFontDescriptor.AttributeName.name
,但这很棘手,因为每种字体的命名不同(“HelveticaNeue”使用“Italic”,Helvetica 使用“Oblique”)。
let lightFont = UIFont(name: "HelveticaNeue-Light", size: 16.0)!
var lightFontDescriptor = lightFont.fontDescriptor.withSymbolicTraits([.traitItalic])!
var lightFontWithItalicTraits = UIFont(descriptor: lightFontDescriptor, size: 0)
// <UICTFont: ..> font-family: "HelveticaNeue-Light"; font-weight: normal; font-style: normal; font-size: 16.00pt
print(lightFont)
// <UICTFont: ..> font-family: "Helvetica Neue"; font-weight: normal; font-style: italic; font-size: 16.00pt
print(lightFontWithItalicTraits)
// The font I expect:
let lightItalicFont = UIFont(name: "HelveticaNeue-LightItalic", size: 16.0)!
// <UICTFont: ..> font-family: "HelveticaNeue-LightItalic"; font-weight: normal; font-style: italic; font-size: 16.00pt
print(lightItalicFont)
任何其他想法如何获得现有字体的斜体版本?