Je sais que sont déjà quelques stackoverflowquestions qui disent comment changer la barre d'état pour tous les contrôleurs de vue. Je change actuellement la couleur de la barre d'état de cette façon:
if(IS_IOS7)
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
Dans le application:DidFinishLaunching
De plus, j'ai changé la valeur de UIViewControllerBasedStatusBarAppearance
dans la liste de sélection en NO
. Cependant, dans l'écran de démarrage, il affiche toujours le texte de la barre d'état avec la couleur noire.
Est-il possible de changer la couleur de la couleur du texte de la barre d'état dans l'écran de démarrage ?
Dans le fichier de liste de projets, ajoutez la propriété "Style de la barre d'état" (la clé est UIStatusBarStyle
). Ignorez ensuite toutes les valeurs possibles répertoriées dans la liste déroulante pour cette propriété et tapez UIStatusBarStyleLightContent
à la place.
Et vous n'avez pas besoin de définir UIViewControllerBasedStatusBarAppearance
pour NO
dans votre liste d'adresses, vous pouvez définir le preferredStatusBarStyle
que vous voulez sur vos contrôleurs de vue.
Vous pouvez le faire sans écrire aucune ligne de code
Procédez comme suit pour que le texte de la barre d'état soit de couleur blanche dans l'ensemble de l'application.
Sur vous projet fichier:
UIStatusBarStyleLightContent
NO
NO
Vous pouvez effectuer les opérations suivantes pour obtenir une barre d’état de couleur claire dans l’application.
Dans votre fichier plist, ajoutez les valeurs suivantes:
Cela vous aidera à obtenir la barre d'état en couleur BLANCHE dans toute l'application, y compris SPLASH SCREEN.
Définissez le UIViewControllerBasedStatusBarAppearance
sur Non dans le plist
Ajoutez ensuite le code suivant dans l'option de lancement terminé
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
[application setStatusBarStyle:UIStatusBarStyleLightContent];
self.window.clipsToBounds =YES;
self.window.frame = CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20);
}
S'il vous plaît suivez ce code cela a fonctionné pour moi
Voici Directives/Instructions Apple concernant le changement de barre d'état.
Voici comment modifier le style de la barre d'état:
Si vous souhaitez définir le style de la barre d'état, le niveau de l'application, définissez ensuite UIViewControllerBasedStatusBarAppearance
sur NO
dans votre fichier `.plist '.
si vous souhaitez définir le style de la barre d'état au niveau du contrôleur de vue, procédez comme suit:
UIViewControllerBasedStatusBarAppearance
sur YES
dans le .plist
fichier, si vous devez définir le style de la barre d'état au niveau UIViewController uniquement.Dans la fonction d'ajout viewDidLoad - setNeedsStatusBarAppearanceUpdate
écrasez preferredStatusBarStyle dans votre contrôleur de vue.
-
override func viewDidLoad() {
super.viewDidLoad()
self.setNeedsStatusBarAppearanceUpdate()
}
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
Définissez la valeur de .plist en fonction du niveau de configuration du style de la barre d'état.
Vous pouvez définir la couleur d’arrière-plan de la barre d’état lors du lancement de l’application ou pendant viewDidLoad de votre contrôleur de vue.
extension UIApplication {
var statusBarView: UIView? {
return value(forKey: "statusBar") as? UIView
}
}
// Set upon application launch, if you've application based status bar
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UIApplication.shared.statusBarView?.backgroundColor = UIColor.red
return true
}
}
or
// Set it from your view controller if you've view controller based statusbar
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
UIApplication.shared.statusBarView?.backgroundColor = UIColor.red
}
}
Voici le résultat:
Vous pouvez effectuer les opérations suivantes pour obtenir une barre d’état de couleur claire dans l’application.
Sélectionnez le nom du projet dans le navigateur de projet. Sélectionnez le nom d'une cible dans la liste de la colonne de gauche de l'éditeur de projet. Cliquez sur Général en haut de l'éditeur de projet. Définir le style de la barre d'état -> Léger