Вот IBLabel, который отслеживает/растягивает шрифт.
Он отлично работает в сборке. Но это изменение не отображается в Раскадке.
// UILabel, but you can set
// the tracking (that the overall amount of space between all letters)
// and streching (actually squeeze or stretch the letters horizontally)
// Note: it very common that typographers need you to adjust these.
import UIKit
@IBDesignable
class StyledLabel: UILabel
    {
    @IBInspectable var tracking:CGFloat = 0.8
    // values between about 0.7 to 1.3.  one means normal.
    @IBInspectable var stretching:CGFloat = -0.1
    // values between about -.5 to .5.  zero means normal.
    override func awakeFromNib()
        {
        let ats = NSMutableAttributedString(string: self.text!)
        let rg = NSRange(location: 0, length: self.text!.characters.count)
        ats.addAttribute(
            NSKernAttributeName, value:CGFloat(tracking), range:rg )
        ats.addAttribute(
            NSExpansionAttributeName, value:CGFloat(stretching), range:rg )
        self.attributedText = ats
        }
    }
Симулятор справа отлично работает.
На самом деле не отображается в прямом эфире на раскадровке (см. слева).
Дикая догадка, мне не хватает функции инициализации?
Или что может быть проблема?
Примечание. Установите размер шрифта в соответствии с высотой:
Возможно, вы захотите установить размер шрифта, чтобы заполнить рамку метки на всех устройствах. Чтобы сохранить yo, введите здесь класс, который "указывает на высоту", отслеживание и растяжение: qaru.site/info/39543/...

