Я могу успешно реализовать вариант следующего кода (/ function) с помощью viewDidLoad (), однако я хотел бы интегрировать его в IBDesignable, как указано ниже.
@IBDesignable
class kernedLabel: UILabel {
@IBInspectable var spacing: CGFloat = 10.4
override func draw(_ rect: CGRect) {
changeSpacing()
}
func changeSpacing(){
let stringValue=text ?? ""
let attrString = NSMutableAttributedString(string: stringValue)
attrString.addAttribute(NSAttributedStringKey.kern, value: spacing, range: NSMakeRange(0, attrString.length))
self.attributedText=attrString
}
}
Я почти уверен, что причина сбоя связана с вызовом функции в
override func draw(_ rect: CGRect) {}
Однако, безуспешно потратив несколько часов на поиск альтернатив, я надеюсь, что кто-то сможет дать совет или подтолкнуть в правильном направлении.