Question Comment modifier la couleur du texte de la barre d'état dans iOS


Mon application a un fond sombre, mais dans iOS 7, la barre d'état est devenue transparente. Donc, je ne peux rien voir là-bas, seulement l'indicateur de la batterie verte dans le coin. Comment puis-je changer la couleur du texte de la barre d'état en blanc comme sur l'écran d'accueil?


926
2017-07-16 14:11


origine


Réponses:


  1. Met le UIViewControllerBasedStatusBarAppearance à YES dans le fichier .plist.

  2. dans le viewDidLoad fait une [self setNeedsStatusBarAppearanceUpdate]; 

  3. Ajoutez la méthode suivante:

    - (UIStatusBarStyle)preferredStatusBarStyle
    { 
        return UIStatusBarStyleLightContent; 
    }
    

Remarque: Cela ne fonctionne pas pour les contrôleurs à l'intérieur UINavigationController, s'il te plait regarde Le commentaire de Tyson ci-dessous :)

Swift 3 - Cela va travailler les contrôleurs à l'intérieur UINavigationController. Ajoutez ce code dans votre contrôleur.

// Preferred status bar style lightContent to use on dark background.
// Swift 3
override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}

1310
2017-07-21 03:36



Vous pouvez également désactiver l'apparence de la barre d'état basée sur le contrôleur de vue:

  1. Ensemble View controller-based status bar appearance à NO dans ton Info.plist.
  2. Appel [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

Remarque: Cette méthode a été abandonnée dans iOS9. Utilisation preferredStatusBarStyle sur le UIViewController à la place. (voir Apple Developer Library)


841
2017-08-12 10:35



Vous pouvez le faire sans écrire de ligne de code!
Procédez comme suit pour que la couleur du texte de la barre d'état devienne blanche dans toute l'application

Sur toi projet plist fichier:

  • Style de barre d'état: Transparent black style (alpha of 0.5)
  • Afficher l'apparence de la barre d'état basée sur le contrôleur: NO
  • La barre d'état est initialement masquée: NO

432
2017-09-11 04:47



Note: La plupart des réponses upvoted ne fonctionne pas pour iOS 7/8 

Dans Info.plist, définissez "Afficher l'apparence de la barre d'état basée sur le contrôleur" comme NON

Dans AppDelegate ajouter

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

à

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
   ......
   ...
}    

Cette solution fonctionne pour iOS 7/8


241
2017-09-23 05:11



Pour moi, rien ne s'est passé avec l'utilisation de toutes les choses dans les autres réponses (et d'autres sources / documentation). Qu'est-ce que l'aide a été de définir le style de barre de navigation sur "Black" dans le XIB. Cela a changé le texte en blanc sans aucun code du tout.

Enter image description here


107
2017-09-12 16:42



Rien de tout cela a fonctionné pour moi, alors voici une solution de travail ...

Dans Info.plist, ajoutez une ligne:

UIViewControllerBasedStatusBarAppearanceet définissez la valeur NO.

Ensuite, dans AppDelegate dans didFinishLaunchingWithOptions, ajoutez ces lignes:

[application setStatusBarHidden:NO];
[application setStatusBarStyle:UIStatusBarStyleLightContent];

95
2017-12-29 11:28



Vous n'avez pas besoin de faire du code pour cela

Vous devez ajouter la touche "Afficher l'apparence de la barre d'état basée sur le contrôleur" dans info.plist comme suit: enter image description here

& définissez son type de valeur sur Boolean et sur NO. Cliquez ensuite sur les paramètres du projet, puis sur l'onglet Général et sous Informations de déploiement définissez le style de la barre d'état préférée sur .Light comme suit:

enter image description here

C'est tout.


53
2018-02-09 09:00