Le comportement de tintColor
pour les barres a changé dans iOS 7.0. Il n'affecte plus l'arrière-plan de la barre.
Dans la documentation :
barTintColor Référence de la classe
La couleur de teinte à appliquer à l'arrière-plan de la barre de navigation.
@property(nonatomic, retain) UIColor *barTintColor
Discussion
Cette couleur est rendue translucide par défaut, sauf si vous définissez la propriété translucide sur NO
.
Disponibilité
Disponible à partir de la version 7.0 d'iOS.
Déclaré dans
UINavigationBar.h
Code
NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
if ([[ver objectAtIndex:0] intValue] >= 7) {
// iOS 7.0 or later
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
self.navigationController.navigationBar.translucent = NO;
}else {
// iOS 6.1 or earlier
self.navigationController.navigationBar.tintColor = [UIColor redColor];
}
Nous pouvons également l'utiliser pour vérifier la version d'iOS comme indiqué dans le document Guide de transition de l'interface utilisateur d'iOS 7
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
// iOS 6.1 or earlier
self.navigationController.navigationBar.tintColor = [UIColor redColor];
} else {
// iOS 7.0 or later
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
self.navigationController.navigationBar.translucent = NO;
}
EDITAR Utilisation de xib
0 votes
stackoverflow.com/questions/18177010
0 votes
[[UINavigationBar appearance] setBarTintColor :[UIColor blackColor]] ; cela fonctionnera à partir d'ios 7.
1 votes
Suivez ce tutoriel appcoda.com/customize-navigation-status-bar-ios-7