85 votes

Comment masquer la barre d'état lorsque l'écran de démarrage apparaît sur l'iPhone?

Y a-t-il un moyen de masquer la barre d'état lors de l'affichage de l'écran de démarrage sur iPhone et de la réafficher dans l'application?

191voto

Dave DeLong Points 156978

Je suis presque certain que si votre fichier Info.plist a la valeur Status bar is initially hidden réglée sur YES, alors elle ne s'affichera pas pendant le chargement de votre application. Une fois votre application chargée, vous pouvez réafficher la barre d'état en utilisant la méthode setStatusBarHidden:animated: de UIApplication.

1 votes

Il n'y a pas une telle option dans info.plist. Y a-t-il un moyen de l'ajouter manuellement ?

3 votes

@Rahul sélectionnez la dernière ligne dans le fichier et cliquez ensuite sur le bouton plus situé à l'extrémité droite de la ligne. Ensuite, tapez-la vous-même.

2 votes

La méthode réaffiche la barre d'état est maintenant, setStatusBarHidden:withAnimation:

48voto

mover Points 447

La clé correcte dans le .plist est "UIStatusBarHidden" et cochez le côté droit. Il deviendra "La barre d'état est initialement cachée" automatiquement. Dans ma pratique, vous pouvez contrôler l'affichage/masquage de la barre d'état n'importe où :

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 0, 320, 480); //écran complet.

lorsque visible :

[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, 460); //descendre de 20px.

j'espère que cela vous a été utile.

0 votes

Pour définir dynamiquement la taille du CGRectMake pour n'importe quel type d'iPhone : [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO]; float width = ((UIScreen *)[UIScreen mainScreen]).bounds.size.width; float height = (((UIScreen *)[UIScreen mainScreen]).bounds.size.height - 20); [UIApplication sharedApplication].keyWindow.frame = CGRectMake(0, 20, width, height);

0 votes

UIApplication's setStatusBarHidden:withAnimation attend un typedef NSInteger UIStatusBarAnimation pour le deuxième argument, pas un BOOL. Au lieu de NO, utilisez UIStatusBarAnimationNone

23voto

Jonathan Sterling Points 11628

Afficher -> Type de liste de propriétés -> iPhone Info.plist. Maintenant, créez un nouvel élément avec "La barre d'état est initialement masquée" coché.

6voto

NeoZenith Points 197

Après avoir suivi la réponse de Dave, la clé "La barre d'état est initialement cachée" n'a pas fonctionné pour moi sous iOS 4.3 MAIS la clé "UIStatusBarHidden" et ensuite en la définissant comme un booléen et en cochant la case a fonctionné.

http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html#//apple_ref/doc/uid/TP40009254-SW4

Cet article pour développeur m'a renseigné sur les clés Info.plist et ensuite trouver l'équivalent pour la cacher n'était pas trop difficile.

Curieusement, le "UIStatusBarStyle" doit utiliser le nom de l'énumération en tant que chaîne pour fonctionner.

6voto

Ian Jamieson Points 1078

Pour Xcode 5 et versions ultérieures, vous pouvez simplement définir :

Apparence de la barre d'état basée sur le contrôleur sur NON

Dans votre info.plist, ou dans l'onglet info de votre projet principal.

Exemple de paramètres Info dans xcode

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X