Sometimes designers uses different kern, not default.
How to change it with minimal time?
Add inspectable text attribute.
Here is ready-to-use code for UIButton.
Very easy transformable to UILabel.
How to change it with minimal time?
Add inspectable text attribute.
Here is ready-to-use code for UIButton.
Very easy transformable to UILabel.
extension UIButton {
@IBInspectable
var letterSpace: CGFloat {
set {
let attributedString: NSMutableAttributedString!
if let currentAttrString = attributedTitle(for: .normal) {
attributedString = NSMutableAttributedString(attributedString: currentAttrString)
}
else {
attributedString = NSMutableAttributedString(string: self.titleLabel?.text ?? "")
setTitle(.none, for: .normal)
}
attributedString.addAttribute(NSKernAttributeName,
value: newValue,
range: NSRange(location: 0, length: attributedString.length))
setAttributedTitle(attributedString, for: .normal)
}
get {
if let currentLetterSpace = attributedTitle(for: .normal)?.attribute(NSKernAttributeName, at: 0, effectiveRange: .none) as? CGFloat {
return currentLetterSpace
}
else {
return 0
}
}
}
}







