Я намагаюся змінити шрифт 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
є обов'язковим property.Thanks раніше в бета - версії не було.
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, ви можете необов'язково використовувати його, і якщо він нульовий, він буде просто неоперативним.
Я також додам, як говорять інші, властивість шрифту застаріла, і обов'язково використовуйте її 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)