fixed issue with attributedText setting not working correctly

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2024-03-14 18:42:33 -05:00
parent d7435068a3
commit 547b03ac1c

View File

@ -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 {
}
}
}