Cómo configurar el color de la barra de navegación del menú Configurar de la barra de pestañas

StackOverflow https://stackoverflow.com/questions/1404197

Pregunta

eliminó el enlace muerto de ImageShack

Como puede ver, la vista que necesito cambiar es la vista proporcionada para personalizar el orden de la barra de pestañas. Quiero cambiar el color de la barra de navegación (que muestra "Konfigurieren", que significa "Configurar"), ya descubrí cómo cambiar el color del Controlador de navegación "Más", pero no este. ¿Alguien puede ayudarme con eso?

¿Fue útil?

Solución

Usar int AppDelegate

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

Otros consejos

Creo que lo que está buscando es esto (hacer cuando crea su controlador de navegación, generalmente en el delegado de su aplicación):

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

¡Seguramente va a funcionar! :-)

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

Puede ser más fácil (usar en el delegado de la barra de pestañas):

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

Hay una manera fácil de cambiar todos los estilos de la barra de navegación en lugar de cambiar cada uno por separado.

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];

Simplemente configura este código en una de tus vistas iniciales. Con esto, su controlador de navegación más y el controlador de navegación de configuración (que aparece después de hacer clic en "Editar" en más controladores de navegación) obtienen un estilo diferente.

De esta manera, puede cambiar su color a uno diferente o cambiar la imagen de fondo.

Espero que esto ayude.

Pude cambiar el color de Configure NavBar de esta manera:

  1. Cree una nueva clase que herede de UITabBarController.
  2. Implemente 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];
        }
    }
    

Partiendo de la respuesta dada por el usuario 486217, esto puede estar aún más codificado a la defensiva:

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

Si está buscando los colores estándar (gris, negro, blanco), puede establecer estos valores en xCode 5. Seleccione el controlador de vista completo y seleccione el inspector de atributos. Debajo de los atributos, encontrará un menú desplegable junto a "Barra superior". Allí puede seleccionar varias configuraciones de color y opacidad para el controlador de la barra de navegación.

A continuación se detallan algunas capturas de pantalla. Espero que esto ayude!

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top