2013-10-24 2 views
7

В iOS7 по умолчанию UIBarButtonItem использует обычный весовой шрифт Helvetica для стиля UIBarButtonItemStylePlain и жирный вес для UIBarButtonItemStyleDone.В iOS7 UIBarButtonItems не уважают жирный стиль «Сделано» при использовании прокси-сервера UIAppearance

Мое приложение использует собственные шрифты, и я использую UIAppearance прокси для достижения этой цели:

appearance = @{NSFontAttributeName: [UIFont fontWithName:@"ProximaNova-Regular" size:18.0]}; 
[[UIBarButtonItem appearance] setTitleTextAttributes:appearance 
              forState:UIControlStateNormal]; 

Беда в том, внешний вид прокси делает Plain и Done стиле кнопки регулярный вес шрифта я указано выше ,

Любые идеи о том, как я могу получить UIBarButtonItem для использования разных пользовательских шрифтов в зависимости от стиля?

+0

Эй Марка, я знаю, что это давно ответ, но вы попробовали подклассифицировать UIBarButtonItem и добавить пользовательский вид? Взгляните на этот ответ здесь: http://stackoverflow.com/questions/18844681/how-to-make-custom-uibarbuttonitem-with-image-and-label. Надеюсь, это поможет :) –

ответ

3

Я знаю, что поздний ответ, но это может быть полезным для кого-то:

UIBarButtonItem *customBarButton = 
     [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"CustomTitle", @"This button appears in my smexy ViewController's naviagtion bar") 
             style:UIBarButtonItemStylePlain 
             target:self 
             action:@selector(customButtonDidClick:)]; 

    NSDictionary *attributes = @{NSFontAttributeName: [UIFont fontWithName:@"TimesNewRomanPS-BoldMT" size:14.0f], 
           NSForegroundColorAttributeName: [UIColor redColor]}; // here you can add some other keys (especially in iOS 7) to personalize your button title more 

    [customBarButton setTitleTextAttributes:attributes forState:UIControlStateNormal]; 

    [self.navigationItem setRightBarButtonItem:customBarButton]; 

Отредактировано: спасибо за обнаружение моей опечатки :-)

+0

Спасибо @Neru! Это работает. FYI: перед строкой шрифта отсутствует. –

+0

Рад помочь :-) – Neru

+1

Я не могу понять, как этот код будет работать для решения проблемы ... – Fry

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