Cambiar color de la barra de navigation color IOS 7.

Sé cómo cambiar el color del tinte de bat de navigation en iOS 6:

[UINavigationBar appearance].tintColor = [UIColor colorWithRed:129/255.0 green:200/255.0 blue:244/255.0 alpha:1.0]; 

Estoy agregando este código en la página APPDelegate. Ahora quiero hacer esto en iOS 7 pero el código anterior no funciona. Busqué en la networking. Tengo una solucion Al agregar la function siguiente a cada página, puedo cambiar el color de navigation.

 self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:129/255.0 green:200/255.0 blue:244/255.0 alpha:1.0]; 

Pero necesito una function que pueda agregar a la function APPDelegate. Por favor, ayúdame a superar este problema.

puede agregar el código de abajo en appdelegate.m

  if your app is navigation based // for background color [nav.navigationBar setBarTintColor:[UIColor blueColor]]; // for change navigation title and button color [[UINavigationBar appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor whiteColor], NSForegroundColorAttributeName, [UIFont fontWithName:@"FontNAme" size:20], NSFontAttributeName, nil]]; [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; 

Por qué no utilizar setBarTintColor para proxy de apariencia, puede hacer esto:

 if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) { [[UINavigationBar appearance] setTintColor: [UIColor colorWithRed:129/255.0 green:200/255.0 blue:244/255.0 alpha:1.0]]; } else { [[UINavigationBar appearance] setBarTintColor: [UIColor colorWithRed:129/255.0 green:200/255.0 blue:244/255.0 alpha:1.0]]; } 

Usar RespondsToSelector para verificar la versión puede ser mejor.

 if ([self.navigationBar respondsToSelector:@selector(setBarTintColor:)]) { [self.navigationBar setBarTintColor: [UIColor colorWithRed:129/255.0 green:200/255.0 blue:244/255.0 alpha:1.0]]; } else { [self.navigationBar setTintColor: [UIColor colorWithRed:129/255.0 green:200/255.0 blue:244/255.0 alpha:1.0]]; } 

En Swift, para mí, quería cambiar el color de tinte para los botones Cancelar y Enviar, cuando aparece el correo electrónico. Y funcionó muy bien.

 (UIBarButtonItem.appearanceWhenContainedInInstancesOfClasses([UINavigationBar.self])).tintColor = UIColor.whiteColor() 

Pruebe [self.navigationController.navigationBar setTranslucent: NO];