diff --git a/VDS/Components/Label/Label.swift b/VDS/Components/Label/Label.swift index db9804d0..fd77dc7e 100644 --- a/VDS/Components/Label/Label.swift +++ b/VDS/Components/Label/Label.swift @@ -108,14 +108,14 @@ open class Label: UILabel, ViewProtocol, UserInfoable { // MARK: - Public Properties //-------------------------------------------------- /// Key of whether or not updateView() is called in setNeedsUpdate() - open var shouldUpdateView: Bool = true + open var shouldUpdateView: Bool = true /// Will determine if a scaled font should be used for the font. open var useScaledFont: Bool = false { didSet { setNeedsUpdate() }} open var surface: Surface = .light { didSet { setNeedsUpdate() }} - /// Array of LabelAttributeModel objects used in rendering the text. + /// Array of LabelAttributeModel objects used in rendering the text. open var attributes: [any LabelAttributeModel]? { didSet { setNeedsUpdate() }} /// TextStyle used on the this label. @@ -135,20 +135,18 @@ open class Label: UILabel, ViewProtocol, UserInfoable { /// Text that will be used in the label. private var _text: String! override open var text: String! { - get { _text } - set { + didSet { + _text = text textSetMode = .text - _text = newValue - styleText(newValue) + setNeedsUpdate() } } ///AttributedText that will be used in the label. override open var attributedText: NSAttributedString? { - get { super.attributedText } - set { + didSet { textSetMode = .attributedText - styleAttributedText(newValue) + setNeedsUpdate() } } @@ -306,7 +304,7 @@ open class Label: UILabel, ViewProtocol, UserInfoable { lineBreakMode: lineBreakMode) applyAttributes(mutableText) - + // Set attributed text to match typography super.attributedText = mutableText } @@ -322,7 +320,7 @@ open class Label: UILabel, ViewProtocol, UserInfoable { let mutableText = NSMutableAttributedString(attributedString: newValue) applyAttributes(mutableText) - + // Modify attributed text to match typography super.attributedText = mutableText } @@ -424,3 +422,5 @@ open class Label: UILabel, ViewProtocol, UserInfoable { } } } + +