2013-09-30 5 views
0

Я пытаюсь изменить оттенок Navbar во время выполнения, и я могу изменить оттенок навигационной панели, но затем левую и правую кнопки (которые были синяя система на iOS 7), поэтому я пытаюсь вернуть их к синему цвету системы. это код, который я использую, вызванный из viewDidLoad: я пробовал как NSForegroundColorAttributeName, так и UITextAttributeTextColor, но я все равно получаю белый или черный текст в зависимости от цвета панели навигации.Настройка синего текста Цвет BarButtonItem в строке UINavigation не работает в iOS 7

Как я могу получить кнопки для отображения синего текста?

NSDictionary *btnAttr = [NSDictionary dictionaryWithObjectsAndKeys: 
           [UIFont boldSystemFontOfSize:14], UITextAttributeFont, 
           [UIColor blueColor], NSForegroundColorAttributeName, 
           nil]; 
    for(UIView *v in [theView.view allSubViews]) 
    { 
     if([v isKindOfClass:[UINavigationItem class]]) 
     { 
      UINavigationItem *btn = (UINavigationItem *)v; 
      [btn.leftBarButtonItem setTitleTextAttributes:btnAttr forState:UIControlStateNormal]; 
      [btn.rightBarButtonItem setTitleTextAttributes:btnAttr forState:UIControlStateNormal]; 
     } 
    } 

ответ

4

В iOS7 вам, если вам нужно изменить цвет кнопки Панель навигации, вам необходимо установить tintColor:

navigationController.navigationBar.tintColor = [UIColor blueColor]; 

Для лучшего понимания проверьте изображение ниже:

enter code here

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