Подтвердить что ты не робот

Как изменить шрифт UILabel в swift без изменения размера шрифта?

Я программно создал ярлык, который я установил для параметра adjustToFitWidth значение true. Теперь я хочу изменить его шрифт, но я не могу этого сделать, не делая размер шрифта метки постоянным. Кто-нибудь знает, как я могу изменить только шрифт, а не размер шрифта UILabel в swift?

4b9b3361

Ответ 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 во всем проекте, если это необходимо.