2017-03-27 1 views
1

Je souhaite changer la couleur du texte de la barre d'état en couleur client comme la capture d'écran ci-jointe.Comment puis-je modifier la couleur du texte de la barre d'état. Capture d'écran jointe

Je l'ai utilisé pour ce faire la lumière contenu -

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

Mais la couleur du texte ne change pas. Quelqu'un peut-il aider?

Status bar screenshot

+0

départ 'http: // stackoverflow.com/questions/17678881/how-to-change-status-bar-text-color-in-ios-7'. – iAviator

+0

@iAviator Déjà coché cette réponse mais sa couleur d'affichage ne change pas pour la couleur rose. – iDilip

+0

Mais la réponse dans le fil est la seule réponse correcte. Puisque vous ne pouvez pas changer la couleur du texte lui-même. – rckoenes

Répondre

1

Voici Apple Guidelines/Instruction changement de barre d'état. Seule la lumière & (alors que & noir) est autorisée dans la barre d'état. Il ne permet pas de définir une couleur (rose, comme indiqué sur votre image) dans la barre d'état.

Voici - Comment changer le style de la barre d'état:

Si vous souhaitez définir le style de la barre d'état, le niveau d'application puis définissez UIViewControllerBasedStatusBarAppearance-NO dans votre fichier `.plist.

si vous wan pour définir le style de la barre d'état, au point de vue niveau du contrôleur puis procédez comme suit:

  1. Réglez le UIViewControllerBasedStatusBarAppearance-YES dans le fichier .plist, si vous devez définir le style de la barre d'état au niveau UIViewController seulement .
  2. Dans la fonction viewDidLoad ajouter - setNeedsStatusBarAppearanceUpdate

  3. remplacement preferredStatusBarStyle dans votre contrôleur de vue.

-

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.setNeedsStatusBarAppearanceUpdate() 
} 

override var preferredStatusBarStyle: UIStatusBarStyle { 
    return .lightContent 
} 

Valeur de consigne de .plist selon le niveau de configuration d'état de style bar. enter image description here


Vous pouvez définir la couleur d'arrière-plan pour 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 résultat:

enter image description here

0

texte couleur de la barre d'état pourrait être blanc ou noir.

4

Définissez UIViewControllerBasedStatusBarAppearance sur YES dans le fichier .plist.

Dans la méthode viewDidLoad, faire un

[self setNeedsStatusBarAppearanceUpdate]; 

Ajoutez la méthode suivante:

- (UIStatusBarStyle)preferredStatusBarStyle 
{ 
    return UIStatusBarStyleLightContent; 
}