Je peux masquer une barre d'état dans mon application:
- (void)viewDidLoad{
[[UIApplication sharedApplication] setStatusBarHidden:YES];
[super viewDidLoad];
}
Lorsque j'ai choisi mon image de lancement et que je l'ai démarrée pour la première fois, sa barre d'état apparaît au-dessus d'une image. Comment puis-je cacher cela?
Ajoutez le code suivant à votre contrôleur de vue:
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
// iOS 7
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
} else {
// iOS 6
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}
- (BOOL)prefersStatusBarHidden {
return YES;
}
Vous devez ajouter ce code dans votre fichier AppDelegate et non dans votre contrôleur de vue racine.
Ou ajoutez la propriété La barre d'état est initialement masquée dans votre fichier Plist
Les gens, dans iOS 7+
veuillez ajouter ceci à votre fichier info.plist, cela fera la différence :)
UIStatusBarHidden UIViewControllerBasedStatusBarAppearance
Pour iOS 11.4+ et Xcode 9.4 +
Utilisez ce code dans un ou tous vos contrôleurs de vue.
écrasez var prefersStatusBarHidden: Bool { retourne vrai}
Ce qui m'a aidé, c'est ceci (changer de fichier de pliste):
Placez ce code dans votre contrôleur de vue dans lequel vous masquez la barre d'état:
- (BOOL)prefersStatusBarHidden {return YES;}
Dans iOS 7, l'apparence de la barre d'état dépend de UIViewController
par défaut. Pour masquer globalement la barre d'état, utilisez dans info.plist
la valeur NO
de la clé UIViewControllerBasedStatusBarAppearance
et la méthode UIApplication
's setStatusBarHidden
avec la valeur YES
BOOL
.
ajoutez cette clé de la liste déroulante dans "info.plist" et le tour est joué, vous ne verrez plus la barre du haut contenant des éléments tels que GSM, icône wifi, etc.
Je soutiens iOS 5, 6 et 7. Mon application est uniquement pour iPad. Je devais utiliser tout ce qui suit:
[[UIApplication sharedApplication] setStatusBarHidden:YES];
Contrôleur de vue:
- (BOOL)prefersStatusBarHidden{ return YES; }
Info.plist
<key>UIStatusBarHidden</key>
<string>YES</string>
<key>UIStatusBarHidden~ipad</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<string>NO</string>
Ça marche pour moi
Veuillez ajouter le code ci-dessous dans le fichier info.plist,
<key>UIStatusBarHidden</key>
<false/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
J'espère que c'est du travail pour quelqu'un.
J'ai eu le même problème, mais c'est une solution facile! Il suffit de mettre
status bar is initially hidden = YES
puis ajoutez une ligne en cliquant sur le signe plus à droite après le texte status bar is initially hidden
, puis définissez le texte sur
view controller-based status bar appearance
en cliquant sur les flèches et réglez-le sur NO
J'espère que cela t'aides!
-(void) viewWillAppear:(BOOL)animated
{
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}
Une solution complète dans Swift, dans votre contrôleur de vue
// you can use your own logic to determine if you need to hide status bar
// I just put a var here for now
var hideStatusBar = false
override func preferStatusBarHidden() -> Bool {
return hideStatus
}
// in other method to manually toggle status bar
func updateUI() {
hideStatusBar = true
// call this method to update status bar
prefersStatusBarHidden()
}
Il vous suffit de cocher la case Cibles/Résumé des informations de déploiement iPad et votre barre d’état disparaîtra . Elle fonctionne sur mes applications.
Pour masquer par programme la barre d'état de chaque contrôleur de vue individuel, utilisez l'une des deux procédures suivantes:
[[UIApplication sharedApplication] setStatusBarHidden: YES withAnimation: UIStatusBarAnimationNone];
- (BOOL) prefersStatusBarHidden {
return YES;
}
Pour masquer la barre d’état de l’ensemble de l’application, suivez la procédure ci-dessous:
Vous devez ajouter cette valeur à la liste: "Afficher l'apparence de la barre d'état basée sur le contrôleur" et réglez-la sur "NON".
La manière la plus simple de le faire est de saisir ce qui suit dans le fichier .m.
- (BOOL) prefersStatusBarHidden
{
return YES;
}
Cela devrait marcher!