Как изменить шрифт UIButton с помощью Swift



Я пытаюсь изменить шрифт UIButton с помощью Swift...



myButton.font = UIFont(name: "...", 10)


.font устарел, и я не уверен, как изменить шрифт в противном случае.

какие предложения?

856   14  

14 ответов:

использовать titleLabel вместо. Элемент font свойство обезличено в iOS 3.0. Он также не работает в Objective-C. titleLabel метка используется для отображения заголовка на UIButton.

myButton.titleLabel?.font =  UIFont(name: YourfontName, size: 20)

однако при настройке текста заголовка вы должны использовать только setTitle:forControlState:. Не используйте titleLabel установить любой текст для заголовка.

на Swift 3.0:

button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)

где " boldSystemFont "и" 16 " могут быть заменены вашим пользовательским шрифтом и размером.

С документация:

шрифт, используемый для отображения текста на кнопке. (устарел в iOS 3.0. Используйте font свойства titleLabel.)

вам не нужно заставлять разворачивать метку заголовка, чтобы установить его.

myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)

Так как вы не используете titleLabel здесь, вы можете просто опционально использовать его, и если он равен нулю, это будет просто no-op.

Я также добавлю, как говорят другие люди, свойство шрифта устарело, и обязательно используйте setTitle:forControlState: при создании текста заголовка.

точечная нотация является удивительным (swift 4.2)

btn.titleLabel?.font =  .systemFont(ofSize: 12)

Если у вас возникли проблемы размер шрифта (шрифт не реагирует на изменения размера)...

@codester имеет правильный код:

myButton.titleLabel!.font =  UIFont(name: YourfontName, size: 20)

однако, мой размер шрифта не меняется. Оказывается, я прошу шрифт, который не существует ("HelveticaNeue-Regular"). Это не вызывало сбоя, но, казалось, просто игнорировало это заявление шрифта из-за него. Как только я изменил шрифт на что-то, что существует, изменения на "size: x" сделали рендеринг.

это работает в Swift 3.0:

btn.titleLabel?.font = UIFont(name:"Times New Roman", size: 20) 

вы должны пройти через titleLabel собственность.

button.titleLabel.font

The font свойство устарело с iOS 3.0.

посмотреть здесь.

вы должны установить шрифт заголовка кнопки вместо этого.

myButton.titleLabel!.font = UIFont(name: "...", 10)

этот способ не работает сейчас:

 btn.titleLabel?.font = UIFont(name: "Helvetica", size:12)

это работает:

 btn.titleLabel?.font = UIFont.init(name: "Helvetica", size:12)

пример: button.titleLabel?.font = UIFont(name: "HelveticaNeue-Bold", size: 12)

  • если вы хотите использовать шрифт defaul из своей собственной семьи, используйте, например:"HelveticaNeue"
  • если вы хотите указать семейный шрифт, используйте, например: "HelveticaNeue-Bold"

Если вы устанавливаете AttributedString в UIButton, то вы можете сделать следующее.

let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)

эта работа для меня, спасибо. Я хочу изменить размер текста только не изменить имя шрифта.

var fontSizeButtonBig:Int = 30

btnMenu9.titleLabel?.шрифт = .systemFont(ofSize: CGFloat (fontSizeButtonBig))

Если вам нужно изменить только размер ( Swift 4.0):

button.titleLabel?.font = button.titleLabel?.font.withSize(12)

Comments

    Ничего не найдено.