Пользовательский шрифт для всех UIButtons

Я пытался:

[[UILabel appearanceWhenContainedIn:[UIButton class], nil] setFont:[UIFont fontWithName:@"TwinkleStarROB" size:24.0]];

И это хорошо работает на iOS 6, но на iOS 5 шрифт отображается плохо. Он отображается только после нажатия на него.

Примеры изображений: При загрузке приложения: Изображение при загрузке приложения При нажатии: Изображение при нажатии

В чем проблема?

Я получаю это в консоли, когда приложение запускается, но не знаю, как это исправить:

«Атрибуты текста кнопки учитываются только для UIControlStateNormal, UIControlStateHighlighted и UIControlStateDisabled. Состояние = 1 интерпретируется как UIControlStateHighlighted».


person 1337code    schedule 05.01.2013    source источник
comment
Почему бы не изменить шрифт прямого экземпляра UILabel?   -  person kamprath    schedule 06.01.2013


Ответы (2)


Вероятно, лучший способ изменить шрифт UILabel — сделать это непосредственно на каждой этикетке.

UILabel* label = ....;

label.font = [UIFont fontWithName:@"TwinkleStarROB" size:24.0]

Просто убедитесь, что размер UILabel соответствует размеру шрифта большего размера.

person kamprath    schedule 06.01.2013
comment
Вы имеете в виду button.title.font... Я создал IBOutlet и изменил шрифт - person 1337code; 07.01.2013
comment
Да, для метки кнопки вы получаете доступ через свойство title. - person kamprath; 07.01.2013

Я создал IBOutlet для всех кнопок и изменил на нем шрифт.

person 1337code    schedule 06.01.2013