Вот 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/...