web-dev-qa-db-fra.com

Couleur de la barre d'état du texte iOS 7

Je ne parviens pas à modifier la couleur du texte dans la barre d'état dans iOS 7 SDK. Actuellement, son noir et je veux qu'il soit blanc pour tous mes contrôleurs de vue dans un storyboard.

J'ai vu peu de questions sur StackOverflow comme THIS , THIS et CECI mais ils ne m'ont pas beaucoup aidé. Cela peut également être dû au fait que je ne parviens pas à trouver UIViewControllerBasedStatusBarAppearance to YES dans mon fichier plist.

Quelqu'un peut-il me dire comment définir correctement la couleur du texte de la barre d'état sur blanc pour tous les contrôleurs de vue du storyboard? Merci d'avance!

60
AJ112

Permettez-moi de vous donner une réponse complète à votre question. Changer la couleur du texte de la barre d’état est très facile, mais c’est un peu déroutant dans iOS 7, spécialement pour les débutants.

Si vous essayez de changer la couleur du noir au blanc dans StoryBoard en sélectionnant le contrôleur de vue et en sélectionnant Métriques simulées à droite, cela ne fonctionnera pas et je ne sais pas pourquoi. Cela devrait fonctionner en changeant comme ceci mais n'importe comment.

Deuxièmement, vous ne trouverez pas la propriété UIViewControllerBasedStatusBarAppearance dans votre plist mais, par défaut, il n'y est pas. Vous devez l'ajouter vous-même en cliquant sur le bouton +, puis définissez-le sur NON.

ios 7 status bar text color

Enfin, vous devez accéder à votre fichier AppDelegate.m et ajouter ce qui suit dans la méthode didFinishLaunchingWithOptions, ajoutez la ligne suivante:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

Cela changera la couleur en blanc pour tous vos contrôleurs de vue. J'espère que cela t'aides!

199
KC.

Si vous recherchez UIViewControllerBasedStatusBarAppearance, vous devrez cliquer sur le petit signe plus qui apparaît lorsque vous survolez la racine de l'élément racine de votre fichier plist.

plist file

Une fois que vous avez fait cela, une nouvelle ligne apparaîtra - sélectionnez "Afficher l’apparence de la barre d’état basée sur le contrôleur" dans la liste déroulante et définissez NO comme valeur. (Ce nom convivial est déclaré en interne sous le nom UIViewControllerBasedStatusBarAppearance)

Ensuite, l'appel de la méthode suivante dans le délégué de votre application doit définir la couleur de la barre d'état sur blanc pour tous les contrôleurs de vue:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
42
AbdullahC

Définissez le UIViewControllerBasedStatusBarAppearance sur OUI dans le plist

Dans viewDidLoad faites un [self setNeedsStatusBarAppearanceUpdate];

Ajoutez la méthode suivante:

-(UIStatusBarStyle)preferredStatusBarStyle{ 
    return UIStatusBarStyleLightContent; 
}
24
Claudia Mardegan

C'est YES par défaut, vous ne le verrez donc pas. Vous devez ajouter

UIViewControllerBasedStatusBarAppearance

à votre plist et réglez-le sur NO.

Ensuite, vous pouvez appeler

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
16
Leo Natan