setStatusBarHidden est déprécié dans iOS 9.0

je mets à jour mon code de iOS 8 à iOS 9. J'ai un morceau de code dans mon programme [[UIApplication applicationName] setStatusBarHidden:YES];.

je reçois l'avertissement "setStatusBarHidden is deprecated in iOS 9.0, Use - [UIViewController preferssstatusbarhidden". Si je remplace juste 'setStatusBarHidden' par 'prefersStatusBarHidden', j'obtiens'instance method not found'. Quelqu'un peut-il svp me suggérer comment résoudre ce problème?

30
demandé sur iOS_programmer 2015-06-29 14:20:34

7 réponses

ajouter le code ci-dessous à votre contrôleur de vue..

 - (BOOL)prefersStatusBarHidden {

   return NO;
}

Remarque :

  • si vous changez la valeur de retour pour cette méthode, appelez le setNeedsStatusBarAppearanceUpdate méthode.
  • Pour childViewController, Pour spécifier qu'un enfant de-vue-contrôleur devrait-on contrôler la barre d'état préférée? childViewControllerForStatusBarHidden méthode.
44
répondu Nilesh Patel 2015-06-30 04:39:17

vous devez ajouter la méthode dans votre viewcontroller.m

- (BOOL)prefersStatusBarHidden {

   return NO;
}
3
répondu Gaurav Patel 2015-06-29 12:44:07

Swift 3.1 Xcode 8.2.1

  1. changement d'info.affichez L'apparence de la barre d'état basée sur le contrôleur de vue de ligne et réglez-la à NO

  2. dans les paramètres de votre cible, cochez "Hide Status bar"

les Deux étapes sont obligatoires

2
répondu Adam Smaka 2017-02-21 17:00:31

prefersStatusBarHidden est disponible à partir de iOS 7+.