在swift 3.0中制作UILabel字体样式粗体和斜体

时间:2016-12-09 05:26:36

标签: ios swift3 uifont

我在swift 3.0中工作,根据要求,我想让UILabel文字Bold和Italic。为此,我写了下面的代码。

extension UIFont {
    func withTraits(traits:UIFontDescriptorSymbolicTraits) -> UIFont {
        let descriptor = fontDescriptor.withSymbolicTraits(traits)
        return UIFont(descriptor: descriptor!, size: 0) //size 0 means keep size as it is
    }
    func bold() -> UIFont {
        return withTraits(traits: .traitBold)
    }

    func italic() -> UIFont {
        return withTraits(traits: .traitItalic)
    }
}

但是在"描述符"的代码值中返回零值。因此,最终无法以粗体或斜体格式转换文本。

任何帮助都是适合的。

1 个答案:

答案 0 :(得分:0)

确保您要更改的字体支持这些特性..因为某些字体仅支持常规字体,而某些字体仅支持常规,粗体,斜体,粗体斜体。如果您使用系统字体尝试这些特征,它将返回这些特征,因为系统字体支持它们。