Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 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