i am trying to use UIlabel extension + String extension to get a summary result, but lost some of settings of it
Here is UILabel extenstion
extension UILabel {
static func insultString() -> UILabel {
let label = UILabel()
label.lineBreakMode = .byWordWrapping
label.numberOfLines = 0
label.textAlignment = .center
label.font = AppFonts.regular17.font
label.adjustsFontSizeToFitWidth = true
label.minimumScaleFactor = 0.7
label.lineBreakMode = .byClipping
label.sizeToFit()
return label
}
}
Here is how i use it in my code
private var insultLabel = UILabel.insultString()
Here is String extension
extension String {
static func stringConfig(_ label: String) -> NSAttributedString {
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineHeightMultiple = 1.35
let string = NSMutableAttributedString(string: label, attributes: [NSAttributedString.Key.paragraphStyle: paragraphStyle])
return string
}
}
and here is how i use it in my code
self.insultLabel.attributedText = String.stringConfig(self.presenter?.insults.savedInsults.last ?? "No insults")
The problem is i correctly get a font and size of my string, but i lost label.textAlignment = .center, label.adjustsFontSizeToFitWidth = true, and so on... Why it happens?