Je souhaite que la barre d'état soit affichée dans les deux orientations dans iOS 8; il est affiché correctement dans iOS 7.
navigationController.isNavigationBarHidden
renvoie NO.
Pourquoi iOS 8 fait-il cela?
Pour afficher la barre d'état en mode paysage dans ios 8, essayez la méthode suivante.
- (BOOL)prefersStatusBarHidden {
return NO;
}
Version rapide
override func prefersStatusBarHidden() -> Bool {
return false
}
Swift 3, Xcode 8, iOS 10,/* ViewController.Swift * /
override var prefersStatusBarHidden: Bool {
return false
}
La solution de Jageen est probablement la meilleure, avec juste un changement mineur: au lieu d’utiliser viewDidLoad
, il vaut mieux utiliser application:didFinishLaunchingWithOptions:
.
C'est fondamentalement un processus en deux étapes:
1). Définissez "Afficher l'apparence de la barre d'état basée sur le contrôleur" sur NO, dans le fichier Info.plist de votre projet.
2) Forcez le statut masqué de la barre d'état sur NO, dans application:didFinishLaunchingWithOptions:
, à l'aide du code suivant:
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
Et voila!
Remarque: Il est important d'utiliser les deux instructions setStatusBarHidden:withAnimation
ci-dessus pour forcer l'état masqué de la barre d'état.
Ce n'est pas un problème mais une fonctionnalité d'un iOS 8. La barre d'état sera masquée en mode paysage dans iOS 8, même les applications d'Apple ont également le même comportement.
J'ai eu le même problème! Fixé en ajoutant ceci à viewDidLoad
[self setNeedsStatusBarAppearanceUpdate];
Et cela à la mise en œuvre elle-même
-(BOOL)prefersStatusBarHidden{
return NO;
}
Ils nous gardent des emplois rémunérés en nous donnant plus de travail.
ou...
Ils ont apporté d'autres modifications qui font que les bits occupent plus d'espace qu'auparavant. Avec iOS 7 et l'avènement d'éléments comme le "Guide de la barre de mise en page supérieure", la barre d'état est facilement accessible dans l'écran de glissement vers le bas, il est ainsi possible de récupérer l'espace de la barre d'état et de laisser entendre que de nombreuses personnes ont prédit que la barre d'état pourrait être obtenir progressivement comme une partie standard de l'interface utilisateur.
Les nouvelles tailles de périphériques suscitent également un certain engouement en raison des modifications apportées à iOS 8, qui permettent de coder plus facilement pour différentes tailles.
C'est de la pure spéculation, mais je ne pense pas que la barre d'état de paysage reviendra dans iOS 8.
Swift 3
override func viewDidLoad() {
super.viewDidLoad()
UIApplication.shared.setStatusBarHidden(true, with: .none)
UIApplication.shared.setStatusBarHidden(false, with: .none)
///
}
et ajoutez à l'intérieur Info.plist
ceci:
UIViewControllerBasedStatusBarAppearance
valeur booléenne NO
Swift 3 (Au 2 juin 2017)
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear()
self.setNeedsStatusBarAppearanceUpdate()
}
override var prefersStatusBarHidden : Bool {
return false
}
Nous l'avons corrigé en suivant les étapes ci-dessus et en nous assurant que les paysages de gauche et de droite sont tous deux activés.
Sous Informations sur le projet/la cible/le déploiement