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

удалена мертвая ссылка ImageShack

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

Ответ 1

Использовать int AppDelegate

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

Ответ 2

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

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

Ответ 3

Он, несомненно, сработает!:-)

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

Ответ 4

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

- (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];
}

Ответ 5

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

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];

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

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

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

Ответ 6

Мне удалось изменить цвет "Настроить NavBar" следующим образом:

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

    -(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];
        }
    }
    

Ответ 7

Исходя из ответа, данного пользователем486217, это может быть еще более защищено:

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];
    }
}}

Ответ 8

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

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

enter image description here

enter image description here