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!
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.
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!
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.
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];
Définissez le UIViewControllerBasedStatusBarAppearance
sur OUI dans le plist
Dans viewDidLoad
faites un [self setNeedsStatusBarAppearanceUpdate];
Ajoutez la méthode suivante:
-(UIStatusBarStyle)preferredStatusBarStyle{
return UIStatusBarStyleLightContent;
}
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];