Pergunta

removido ligação ImageShack mortos

Como você pode ver a vista que preciso mudar é a visão fornecido para personalizar a ordem tabbar. Eu quero mudar a cor da barra de navegação (exibindo "Konfigurieren", que significa "Configure"), eu já descobri como mudar a cor da "More" -Navegação Controller, mas não esta. Alguém pode me ajudar com isso?

Foi útil?

Solução

Use int AppDelegate

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

Outras dicas

Eu acho que o que você está procurando é isso (fazer quando você criar o seu controlador de navegação, normalmente em seu delegado app):

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

A sua Certamente vai funcionar! :-)

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

Pode ser mais fácil (uso em delegado barra de abas):

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

Há uma maneira fácil de mudar todos os estilos da barra de navegação em vez de alterar cada um separadamente.

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];

Basta definir esse código em um de seus pontos de vista iniciais. Com isso, o seu mais controlador de navegação eo controlador de navegação de configuração (que aparece depois de clicar em "Editar" em mais controlador de navegação) obter um estilo diferente.

Assim você pode mudar a sua cor para um diferente ou alterar a imagem de fundo.

Espero que isso ajude.

Eu era capaz de mudar a cor do Configure NavBar assim:

  1. Criar uma nova classe que herda de UITabBarController.
  2. Implementar este método:

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

Construindo fora a resposta dada por user486217, isso pode ser ainda mais defensivamente código de cores:

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

Se você está procurando as cores padrão (cinza, preto, branco), você pode definir esses valores dentro xCode 5. Selecione todo o controlador de vista, e selecione o inspetor de atributos. De acordo com os atributos que você vai encontrar um drop-down ao lado de "Top Bar". Lá você pode selecionar vários ajustes para a cor e opacidade para o controlador de barra de navegação.

esboçadas abaixo estão algumas screenshots. Espero que isso ajude!

enter descrição da imagem aqui

enter descrição da imagem aqui

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top