2009-09-10 3 views
31

удалены мертвые ImageShack ссылкаКак установить навигационную панель Цвет панели вкладок Настройка меню

Как вы можете видеть представление, что нужно изменить это при условии, вид настроить порядок TabBar. Я хочу изменить цвет панели навигации (отображение «Konfigurieren», что означает «Configure»), я уже выяснил, как изменить цвет «Больше» -Навигационный контроллер, но не этот. Кто-нибудь может мне помочь?

+0

Да. Я тоже хотел бы это знать. Я пробовал это в течение нескольких дней, но я не мог заставить его работать. – Jake

+0

Мы не можем видеть, действительно, поскольку ваша ссылка на изображение кажется сломанной. Если у вас все еще есть исходное изображение, перезагрузите его в файл stack.imgur или просто отредактируйте свой вопрос, чтобы он работал без изображения. Благодарю. –

ответ

15

Использование INT AppDelegate

tabBarController.moreNavigationController.navigationBar.tintColor = [UIColor blackColor]; 
+8

Я не знаю, почему был принят этот ответ: он изменяет только цвет оттенка панели навигации вкладки «Дополнительно», о которой автор вопроса сказал, что уже достигнут, но не тот, что находится в модульном контроллере «Настроить». Ответ пользователя486217 делает правильную вещь, о которой просили. –

20

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

UINavigationController *navigationController; 
... 
navigationController.navigationBar.tintColor = [UIColor blackColor]; 
14

Его Конечно буду Работа! :-)

self.navigationController.navigationBar.tintColor = [UIColor blackColor]; 
+2

Простой, но отличный ответ! Благодарю. – Will

+0

Да, братан ... работает как очаровательный ... –

3

Я был в состоянии изменить цвет Configure NavBar так:

  1. Создайте новый класс, который наследуется от UITabBarController.
  2. Реализуйте этот метод:

    -(void)beginCustomizingTabBar:(id)sender 
    { 
        [super beginCustomizingTabBar:sender]; 
    
        // Get the new view inserted by the method called above 
        id modalViewCtrl = [[[self view] subviews] objectAtIndex:1]; 
    
        if([modalViewCtrl isKindOfClass:NSClassFromString(@"UITabBarCustomizeView")] == YES) 
        { 
         UINavigationBar* navBar = [[modalViewCtrl subviews] objectAtIndex:0]; 
    
         [navBar setBarStyle:UIBarStyleBlackTranslucent]; 
         [navBar setTranslucent:YES]; 
        } 
    } 
    
12

Может быть проще (использование в панели вкладок делегат):

- (void)tabBarController:(UITabBarController *)tabBarController willBeginCustomizingViewControllers:(NSArray *)viewControllers { 
id modalViewCtrl = [[[tabBarController view] subviews] objectAtIndex:1]; 
if([modalViewCtrl isKindOfClass:NSClassFromString(@"UITabBarCustomizeView")] == YES) 
    ((UINavigationBar*)[[modalViewCtrl subviews] objectAtIndex:0]).tintColor = [UIColor redColor]; 
} 
2

Строительство от ответа дается user486217, это может быть даже больше, защищенно-защищенный:

 
id modalViewCtrl = [controller.view.subviews objectAtIndex:1]; 
if([modalViewCtrl isKindOfClass:NSClassFromStrin(@"UITabBarCustomizeView")] == YES) { 
    id navigationBar = [[modalViewCtrl subviews] objectAtIndex:0]; 
    if ([navigationBar isKindOfClass:[UINavigationBar class]]) { 
     ((UINavigationBar*)navigationBar).tintColor = [UIColor redColor]; 
    } 
}} 
7

Существует простой способ изменить все стили навигационной панели, а не менять их отдельно.

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack]; 

Просто установите этот код в одном из ваших первоначальных видов. При этом ваш новый контроллер навигации и контроллер навигации конфигурации (который появляется после нажатия «Редактировать» в более навигационном контроллере) получают другой стиль.

Вы можете изменить его цвет на другой или изменить фоновое изображение.

Надеюсь, это поможет.

1

Если вы ищете стандартные цвета (серый, черный, белый), вы можете установить эти значения в xCode 5. Выберите весь контроллер просмотра и выберите инспектор атрибутов. По атрибутам вы найдете раскрывающийся список рядом с «Верхняя панель». Там вы можете выбрать различные настройки для цвета и непрозрачности для контроллера навигационной панели.

Ниже приведены несколько скриншотов. Надеюсь это поможет!

enter image description here

enter image description here

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