У меня есть собственный шрифт в приложении, и я применил его к кнопке «Регистрация», и он имеет следующий результат:
Как видите, «g» имеет был вырезан снизу. Представление - это UIButton с изображением на нем и следующими свойствами:
- Пользовательский шрифт размером 22,7
- Представление Semanti c: принудительное выравнивание справа налево
- Вставки содержимого: слева: 44,3, справа: 24,7, сверху: 22 и снизу: 22 * 1013 *
- Вставки изображения: только слева: 11,7
Я попытался исправить это, предоставив baselineOffset к значению 1 в следующем коде:
@IBDesignable extension UIButton {
@IBInspectable var baselineOffset: CGFloat {
set {
let attributedString = NSMutableAttributedString(string: title)
attributedString.addAttribute(NSAttributedString.Key.baselineOffset, value: newValue, range: NSMakeRange(0, title.count))
self.setAttributedTitle(attributedString, for: .normal)
}
get { 0 }
}
var title: String {
get { self.title(for: .normal) ?? "" }
}
}
Это исправляет нижний вырез, но теперь заголовок обрезается сверху.
Есть ли способ добавить дополнительное пространство для текста заголовка для рисования на экране?