UIFont fontDescriptor特征,带有大小变量

时间:2018-10-29 08:13:12

标签: ios swift

我正在尝试使用带有粗体和斜体文本的UILabel,到目前为止,我已经实现了这样的目标:

extension UIFont {

    var isBold: Bool{
        return fontDescriptor.symbolicTraits.contains(.traitBold)
    }

    var isItalic: Bool{
        return fontDescriptor.symbolicTraits.contains(.traitItalic)
    }

    var normal: UIFont{
        return with(traits: [])
    }

    var bold: UIFont {
        return with(traits: .traitBold)
    }

    var italic: UIFont {
        return with(traits: .traitItalic)
    }

    var boldItalic: UIFont {
        return with(traits: [.traitBold, .traitItalic])
    }


    func with(traits: UIFontDescriptor.SymbolicTraits) -> UIFont {
        guard let descriptor = self.fontDescriptor.withSymbolicTraits(traits) else {
            return self
        }

        return UIFont(descriptor: descriptor, size: 0)
    }

}

但是,我正在为iPhone和iPad开发,并且在故事板中,UILabel具有基于屏幕特征的文本大小变化,并且上面的代码不起作用。

text size variation

有没有办法使它适用于这种变化形式?

0 个答案:

没有答案