2014-04-28 3 views
1

Je souhaite que la couleur de fond de la barre de navigation soit noire et que le texte de la barre de navigation soit blanc.comment modifier la couleur d'arrière-plan de la barre de navigation et la couleur du texte de navigation

Tout semble bien sur mon simulateur comme indiqué ci-dessous:

enter image description here

Cependant, quand je le tester sur le périphérique réel w/7.1, même si la couleur de fond de la barre de navigation est orange, le titre de l'écran est noir.

C'est ce que je fais dans mon délégué de l'application:

@window.rootViewController = UINavigationController.alloc.initWithRootViewController(main_controller) 
@window.rootViewController.navigationBar.barTintColor = '#DF533B'.to_color 
@window.rootViewController.navigationBar.translucent = true 
@window.rootViewController.navigationBar.tintColor = UIColor.whiteColor 
@window.rootViewController.navigationBar.setTitleTextAttributes({ 
    UITextAttributeTextColor => UIColor.whiteColor 
}) 

mon deployment_target est 7.0 et app.sdk_version est 7.1

Devrais-je mettre ce code dans viewDidLoad de tous mes contrôleurs?

Répondre

0

Vous n'êtes pas familier avec RubyMotion, mais vous devez utiliser le proxy UIAppearance:

[[UINavigationBar appearance] setBarTintColor:[self navBarColor]]; 

[[UINavigationBar appearance] setTintColor:[self navBarTitleColor]]; 

[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName : [self navBarTitleColor], NSFontAttributeName : [self titleFont]}]; 

Vous devez le faire avant de charger la fenêtre principale dans votre AppDelegate.

0

Juste pour ajouter à la réponse de Moby qui me semble correcte, assurez-vous de l'ajouter à didFinishLaunchingWithOptions pour votre délégué d'application.

Questions connexes