2013-03-19 3 views
2

Я хотел бы установить специальный шрифт для моего полного представленияКак установить собственный шрифт для всех ярлыков в представлении?

я упомянул следующее How do I set a custom font for the whole application?

Но это говорит только тип и размер шрифта для меток В настоящее время я использую следующий фрагмент кода для всех меток что увеличивает избыточность.

label.textColor = [UIColor blueColor]; 
[label setBackgroundColor:[UIColor clearColor]]; 

Можно ли добавить цвет текста и цвет фона аналогичным образом?

+0

Этот вопрос может быть дубликатом что-то другое, но это не является дубликатом вопроса он помечен как. –

ответ

3

Попробуйте

-(void)changeFont:(UIView *) view{ 
    for (id View in [view subviews]) { 
     if ([View isKindOfClass:[UILabel class]]) { 
       [View setFont:[UIFont fontWithName:@"Candara" size:26]]; 
       View.textColor = [UIColor blueColor]; 
       [View setBackgroundColor:[UIColor clearColor]]; 
     } 
     if ([View isKindOfClass:[UIView class]]) { 
      [self changeFont:View]; 
     } 
    } 
} 

вызов этот METHODE и передать ваш view

1

Создать category для label как»

@interface UILabel(SMLabelCatogary) 
    - (void) setCustomLabelDesign; 
    @end 

    @implementation UILabel(SMLabelCatogary) 
    - (void) setCustomLabelDesign{ 
     label.textColor = [UIColor blueColor]; 
     [label setBackgroundColor:[UIColor clearColor]]; 
    } 
    @end 

Позовите setCustomLabelDesign с ярлыком (как [label setCustomLabelDesign]), чтобы настроить что в этом соответствии.

2

Если вы используете iOS 5+ и имеете метки внутри пользовательского представления (или можете помещать их в пользовательский вид), вы можете использовать UIAppearance и UIAppearanceContainer. Они сделаны именно для этого сценария.

Соответствующий метод: +appearanceWhenContainedIn:, который позволяет вам установить внешний вид (шрифт, цвет, фоновое изображение и т. Д.), Когда класс представления, на который вы нацеливаетесь, содержится внутри представления данного класса.

// Set appearance of UILabels within MyViews 
[[UILabel appearanceWhenContainedIn:[MyView class], nil] 
    setTextColor:[UIColor greenColor]]; 

[[UILabel appearanceWhenContainedIn:[MyView class], nil] 
    setFont:[UIFont fontWithName:@"SourceCodePro-Black" size:24]]; 

Я положил это в делегат приложения, но вы могли бы поместить его в другое место. Это изменит внешний вид всех экземпляров UILabel, которые находятся внутри класса MyView.

Ознакомьтесь с видео WWDC 2011 для сеанса 114.

enter image description here

Смежные вопросы