Я пытаюсь изменить шрифт 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 :
где «boldSystemFont» и «16» могут быть заменены вашим собственным шрифтом и размером.
источник
Точечная нотация потрясающая (swift 4.2) 👌
источник
Вам не нужно принудительно распаковывать titleLabel, чтобы установить его.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Поскольку вы не используете titleLabel здесь, вы можете просто использовать его по желанию, и если это ноль, то это просто не будет.
Я также добавлю, как говорят другие люди, свойство font устарело, и обязательно используйте его
setTitle:forControlState:
при настройке текста заголовка.источник
Из документации :
источник
Если у вас проблемы с размером шрифта (ваш шрифт не реагирует на изменения размера) ...
@codester имеет правильный код:
Тем не менее, мой размер шрифта не изменился. Оказывается, я спрашивал о несуществующем шрифте («HelveticaNeue-Regular»). Это не вызывало сбой, но, казалось, просто игнорировало это утверждение шрифта из-за этого. После того, как я изменил шрифт на что-то, что существует, изменения в "size: x" действительно отрисовались.
источник
мы можем использовать различные типы системных шрифтов, как показано ниже
и ваш собственный шрифт, как показано ниже
источник
Вы должны пройти через
titleLabel
собственность.button.titleLabel.font
font
Имущество устаревшим с прошивкой 3.0.источник
Посмотрите здесь .
Вместо этого вы должны установить шрифт для заголовка кнопки.
источник
Это работает в Swift 3.0:
источник
Если вы устанавливаете AttributedString для UIButton, то вы можете сделать следующее.
источник
Если вам нужно изменить только размер ( Swift 4.0 ):
источник
Пример:
button.titleLabel?.font = UIFont(name: "HelveticaNeue-Bold", size: 12)
источник
Этот способ не работает сейчас:
Это работает:
источник
эта работа для меня, спасибо. Я хочу изменить только размер текста, а не изменить имя шрифта.
btnMenu9.titleLabel? .font = .systemFont (ofSize: CGFloat (fontSizeButtonBig))
источник
В Swift 5 вы можете использовать точечную нотацию для более быстрого синтаксиса:
myButton.titleLabel?.font = .systemFont(ofSize: 14, weight: .medium)
В противном случае вы будете использовать:
myButton.titleLabel?.font = UIFont.systemFont(ofSize: 14, weight: .medium)
источник