Я программно создал ярлык, который я установил для параметра adjustToFitWidth значение true. Теперь я хочу изменить его шрифт, но я не могу этого сделать, не делая размер шрифта метки постоянным. Кто-нибудь знает, как я могу изменить только шрифт, а не размер шрифта UILabel в swift?
Как изменить шрифт UILabel в swift без изменения размера шрифта?
Ответ 1
Почему бы не получить размер шрифта и указать новый шрифт с этим значением?
let fontSize = self.label.font.pointSize;
self.label.font = UIFont(name: "HelveticaNeue", size: fontSize)
Ответ 2
Вы можете сделать это следующим образом:
label.font = UIFont(name: "Arial", size: label.font.pointSize)
Это будет использовать тот же размер шрифта, "Arial" может быть любой семьей, которую вы хотите выбрать.
Ответ 3
Улучшенный ответ.
UILabel Subclassing: добавьте пустой swift файл и назовите его. e.g..EZLabel. Добавьте следующий код.
import Foundation
import UIKit
class EZLabel: UILabel {
override func awakeFromNib() {
super.awakeFromNib()
changeFontName()
}
func changeFontName()
{
self.font = UIFont(name: "Roboto", size: self.font.pointSize)
}
}
Преимущество заключается в том, что вам не нужно менять каждый шрифт UILabel во всем проекте, если это необходимо.