web-dev-qa-db-fra.com

Comment obtenir un UINavigationBar opaque sur iOS 7

Existe-t-il un moyen de rendre la UINavigationBar, ciblée pour iOS 7, une couleur unie sans translucidité? J'ai essayé de régler les propriétés backgroundColor, barTintColor, opaque, transparent/translucide, etc., et rien ne fonctionne.

Quelqu'un sait-il comment faire ça?

Voici quelques morceaux de code que j'ai utilisés. Notez les propriétés que j'ai définies sur la navigationBar. Aucun d'entre eux, dans n'importe quel ordre ou combinaison n'a fonctionné. 

@property (strong, nonatomic) UITabBarController *tabBarController;

testViewController = [[TestViewController alloc] init];
anotherViewController = [[AnotherViewController alloc] init];
navigationController = [[UINavigationController alloc]
                            initWithRootViewController:testViewController];

navigationController.navigationBar.barTintColor = [UIColor darkGrayColor;
navigationController.navigationBar.barStyle = UIBarStyleBlack;
navigationController.navigationBar.translucent = YES;
navigationController.navigationBar.opaque = YES;

NSArray *tabBarViewControllers = [NSArray arrayWithObjects:
                                      navigationController,
                                      anotherViewController, nil];
self.tabBarController.viewControllers = tabBarViewControllers;
29
tentmaking

Votre code répertorie navigationController.navigationBar.translucent = YES;

Réglez-le sur NO.

56
Vadoff

Pour le rendre totalement opaque, vous pouvez simplement changer le style de la barre de navigation à partir de la section de propriété elle-même!

Just set the style as Black!

Voici à quoi ça ressemble quand tu le fais en noir 

9
marmikshah

Pour rendre toutes vos barres de navigation opaques, vous pouvez simplement ajouter UINavigationBar.appearance().translucent = false à application:didFinishLaunchingWithOptions: 

7
Nick Yap
self.navigationController.navigationBar.isTranslucent = false
0
AlQaim Solutions