Я пытаюсь изменить шрифт UIButton с помощью Swift...
myButton.font = UIFont(name: "...", 10)
Однако .font
устарел, и я не уверен, как изменить шрифт в противном случае.
Любые предложения?
Я пытаюсь изменить шрифт UIButton с помощью Swift...
myButton.font = UIFont(name: "...", 10)
Однако .font
устарел, и я не уверен, как изменить шрифт в противном случае.
Любые предложения?
titleLabel
этого используйте 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" могут быть заменены вашим пользовательским шрифтом и размером.
btn.titleLabel?.font = .systemFont(ofSize: 12)
Вам не нужно принудительно разворачивать titleLabel, чтобы установить его.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Так как вы не используете titleLabel здесь, вы можете просто использовать его, и если он будет равен нулю, это будет просто no-op.
Я также добавлю, как говорят другие люди, свойство шрифта устарело и не забудьте использовать setTitle:forControlState:
при настройке текста заголовка.
Из documentation:
Шрифт, используемый для отображения текста на кнопке. (Устаревший в iOS 3.0). Вместо этого используйте свойство
font
titleLabel
.)
Если у вас проблемы с размером шрифта (ваш шрифт не отвечает на изменения размера)...
@codester имеет правильный код:
myButton.titleLabel!.font = UIFont(name: YourfontName, size: 20)
Однако размер моего шрифта не менялся. Оказывается, я прошу шрифта, которого не было ( "HelveticaNeue-Regular" ). Это не вызвало краха, но, похоже, просто игнорировало это утверждение шрифта из-за этого. Как только я изменил шрифт на то, что существует, изменения в "size: x" отображались.
Посмотрите здесь.
Вместо этого вы должны установить шрифт кнопки titleLabel.
myButton.titleLabel!.font = UIFont(name: "...", 10)
Это работает в Swift 3.0:
btn.titleLabel?.font = UIFont(name:"Times New Roman", size: 20)
Вы должны пройти через свойство titleLabel
.
button.titleLabel.font
Свойство font
устарело с iOS 3.0.
Если вы устанавливаете AttributedString для UIButton, то вы можете сделать следующее.
let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)
Если вам нужно изменить только размер (Swift 4.0):
button.titleLabel?.font = button.titleLabel?.font.withSize(12)
мы можем использовать различные типы системных шрифтов, как показано ниже
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
myButton.titleLabel?.font = UIFont.italicSystemFont(ofSize:UIFont.smallSystemFontSize)
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: UIFont.buttonFontSize)
и ваш собственный шрифт, как показано ниже
myButton.titleLabel?.font = UIFont(name: "Helvetica", size:12)
Теперь этот способ не работает:
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)
эта работа для меня, спасибо. Я хочу изменить только размер текста, а не изменить имя шрифта.
var fontSizeButtonBig:Int = 30
btnMenu9.titleLabel?.font =.systemFont(ofSize: CGFloat (fontSizeButtonBig))
В Xamarin.iOS вы можете написать код на С# следующим образом:
myButton.TitleLabel.Font = UIFont.FromName( "Helvetica-Bold", 33f);