Я пытаюсь изменить шрифт UIButton с помощью Swift ...
myButton.font = UIFont(name: "...", 10)
Однако .font
не рекомендуется, и я не уверен, как изменить шрифт в противном случае.
Какие-либо предложения?
Я пытаюсь изменить шрифт UIButton с помощью Swift ...
myButton.font = UIFont(name: "...", 10)
Однако .font
не рекомендуется, и я не уверен, как изменить шрифт в противном случае.
Какие-либо предложения?
Ответы:
Используйте titleLabel
вместо этого. font
Свойство устаревший в прошивкой 3.0. Это также не работает в Objective-C. titleLabel
является меткой, используемой для отображения заголовка UIButton
.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Однако при настройке текста заголовка следует использовать только setTitle:forControlState:
. Не используйте, titleLabel
чтобы установить любой текст для заголовка напрямую.
titleLabel
является необязательным свойством. Спасибо ранее в бета-версии не было.
myButton.titleLabel?.font = ...
будет работать, так как если 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 здесь, вы можете просто использовать его по желанию, и если это ноль, то это просто не будет.
Я также добавлю, как говорят другие люди, свойство font устарело, и обязательно используйте его setTitle:forControlState:
при настройке текста заголовка.
Из документации :
Шрифт, используемый для отображения текста на кнопке. ( Устаревший в iOS 3.0 . Вместо этого используйте
font
свойствоtitleLabel
.)
Если у вас проблемы с размером шрифта (ваш шрифт не реагирует на изменения размера) ...
@codester имеет правильный код:
myButton.titleLabel!.font = UIFont(name: YourfontName, size: 20)
Тем не менее, мой размер шрифта не изменился. Оказывается, я спрашивал о несуществующем шрифте («HelveticaNeue-Regular»). Это не вызывало сбой, но, казалось, просто игнорировало это утверждение шрифта из-за этого. После того, как я изменил шрифт на что-то, что существует, изменения в "size: x" действительно отрисовались.
мы можем использовать различные типы системных шрифтов, как показано ниже
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)
Вы должны пройти через titleLabel
собственность.
button.titleLabel.font
font
Имущество устаревшим с прошивкой 3.0.
Если вы устанавливаете AttributedString для UIButton, то вы можете сделать следующее.
let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)
В Swift 5 вы можете использовать точечную нотацию для более быстрого синтаксиса:
myButton.titleLabel?.font = .systemFont(ofSize: 14, weight: .medium)
В противном случае вы будете использовать:
myButton.titleLabel?.font = UIFont.systemFont(ofSize: 14, weight: .medium)