UILabel中的adjustsFontForContentSizeCategory具有属性文本

时间:2018-01-09 20:23:17

标签: ios uilabel nsattributedstring

我以为我会节省其他时间的调试,并说将adjustsFontForContentSizeCategory设置为true对您设置attributedText值的标签没有影响(至少在tableview单元格标签中)。

幸运的是,解决方案是自己在属性字符串上设置字体。我写了一个小的实用程序扩展:

public extension NSMutableAttributedString {
    public func setFont(_ font: UIFont) -> NSMutableAttributedString {
        addAttribute(NSAttributedStringKey.font, value: font, range: NSRange(location: 0, length: string.count))

        return self
    }
}

在您设置attributedText属性的地方,您可以调用

@IBOutlet weak var myLabel: UILabel!

var myAttributedString: NSAttributedString = .....

myLabel.attributedText = NSMutableAttributedString(attributedString: myAttributedString).setFont(myLabel.font)

1 个答案:

答案 0 :(得分:0)

public extension NSMutableAttributedString {
public func setFont(_ font: UIFont) -> NSMutableAttributedString {
    addAttribute(NSAttributedStringKey.font, value: font, range: NSRange(location: 0, length: string.count))

    return self
}

}