2017-02-24 1 views
4

Depuis UIApplication.shared.setStatusBarStyle(.default, animated: true) est obsolète à partir de IOS9 est-il possible de changer le style de barre d'état avec animation sur push? Je ne trouve aucune description dans docs.Modifier le style de barre d'état avec animation

+0

UIApplication.shared.statusBarStyle = .lightContent Avez-vous utilisé cette –

+0

Cela ne changera pas la barre avec une animation – Danny

Répondre

6

Il est maintenant une variable que vous devez remplacer:

override var preferredStatusBarStyle: UIStatusBarStyle 
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation 

Selon le moment où vous mettez à jour la barre d'état, vous pourriez aussi appeler setNeedsStatusBarAppearanceUpdate()

+0

Il n'est pas appelé à partir UIViewController – Danny

+0

Où êtes-vous essayez de définir le style de la barre d'état? –

+0

dans viewWillAppear – Danny

3

Si vous souhaitez définir le style de la barre d'état, l'application niveau 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

+0

Il n'est pas appelé depuis UIViewController – Danny