85 votes

Comment masquer la barre d'état lorsque l'écran de démarrage apparaît sur un 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 ensuite la réafficher dans l'application?

191voto

Dave DeLong Points 156978

Je suis assez sûr que si le fichier Info.plist a la valeur Statut barre est initialement cachée définie sur OUI, alors elle ne s'affichera pas pendant le chargement de votre application. Une fois que votre application a chargé, 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 sur le bouton plus à droite de la ligne. Ensuite, saisissez-le vous-même.

2 votes

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

48voto

mover Points 447

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

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

quand il est affiché :

[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, 460); //déplacer vers le bas 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 "Barre de statut est initialement masquée" coché.

6voto

NeoZenith Points 197

Suivant 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 mettant en type Boolean et en cochant la case a fait l'affaire.

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

Cet article de développeur m'a mis sur la piste des clés Info.plist et ensuite trouver l'équivalent pour la cacher n'a pas été trop difficile.

De manière intéressante, 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 :

l'apparence de la barre d'état basée sur le contrôleur à 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