La barre d’état ne disparaît pas

Je crée une application et je souhaite masquer la barre d’état. Lorsque je teste l’application, la barre d’état est masquée lorsque l’écran de démarrage est affiché, mais une fois l’application complètement chargée, la barre d’état réapparaît.

J’utilise Xcode 5 et iOS 7 et j’ai essayé de désactiver la barre d’état par programmation

([[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];), 

dans le fichier info.plist et à l’aide de l’inspecteur d’atsortingbuts du fichier .xib. Rien ne semble fonctionner.

Des idées?

Essayez d’append la méthode suivante au contrôleur de la vue racine de votre application:

 - (BOOL)prefersStatusBarHidden { return YES; } 

Vous devez append cette valeur à plist: ” Afficher l’apparence de la barre d’état basée sur le contrôleur ” et la définir sur ” NON “.

Cela vous permettra de définir la barre d’état en mode masqué . Cela le place à un niveau global différent des autres réponses fournies.

MISE À JOUR: Si vous souhaitez que la barre d’état soit masquée sur l’écran de démarrage, n’oubliez pas de marquer ” Masquer lors du lancement de l’application ” sur les options de la barre d’état cible. En outre, vous pouvez append “La barre d’état est initialement masquée ” sur ” OUI ” si vous ne voulez pas le faire avec du code dans l’application.

Le code que vous avez posté fonctionne pour iOS 6.1 et ci-dessous. Pour iOS 7, Apple a mis au sharepoint nouvelles méthodes pour contrôler directement la barre d’état de chaque vue. Désactiver cette option dans votre Info.plist vous permettra de masquer la barre d’état, au moins pour la version actuelle de Developer Preview (4).

Ajoutez ceci et mettez à NON

Pour référence, consultez le guide de transition iOS 7 disponible sur le portail des développeurs d’Apple.

eh bien j’essaie de cacher la barre d’état dans toute mon application et dans “app” -info.plist et j’ajoute deux lignes dans le dictionnaire “Liste des propriétés de l’information” J’ajoute “Afficher l’apparence de la barre d’état basée sur le contrôleur” La barre d’état est initialement masquée “réglez OUI et pour moi, n_n”

info pliste

Cependant, si vous utilisez UIImagePicker, la barre d’état apparaît à nouveau.

Dans ce cas, vous devriez masquer la barre d’état comme ci-dessous,

 - (void)imagePickerController:(UIImagePickerController *)aPicker didFinishPickingMediaWithInfo:(NSDictionary *)info { // for iOS7 if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { [[UIApplication sharedApplication] setStatusBarHidden:YES]; } 

Après une longue recherche, j’ai finalement trouvé une solution très simple qui prend également en charge le problème de UIImagePickerController .

Comme mentionné dans les autres réponses, définissez votre barre d’état cachée dans votre AppDelegate didFinishLaunching, puis définissez la valeur “Apparence de la barre d’état basée sur le contrôleur” sur NO.

Ensuite, dans votre AppDelegate:

 - (void)application:(UIApplication *)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame { [application setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone]; } 

et voila – votre barre d’état restra cachée même lorsque l’UIImagePickerController sera le premier.

C’est mieux que de le «repositionner» chaque fois que vous présentez un UIImagePickerController car il rest caché dans l’application.

Pour masquer la barre d’état sur un UIViewController particulier, ajoutez simplement ceci:

 -(BOOL)prefersStatusBarHidden { return YES; } 

J’espère que cela t’aides !

Vous pouvez vous cacher du résumé du projet. une case à cocher est masquée lors du lancement.

Voir l’instantané

entrer la description de l'image ici

J’ai trouvé cette solution pour moi. Il fonctionne comme un charme. Ecrivez ce code sur votre viewcontroller sur lequel vous souhaitez utiliser UIImagePickerController.

 - (void)viewWillDisappear:(BOOL)animated { [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone]; } - (void)viewWillAppear:(BOOL)animated { [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone]; } 

En plus de la réponse de alones ci-dessus, assurez-vous d’implémenter la méthode imagePickerControllerDidCancel et d’y append le même code.

Solution rapide

ajoutez simplement ceci à vos contrôleurs de vue:

 override func prefersStatusBarHidden() -> Bool { return true } 

J’avais aussi des problèmes avec UIImagePicker. Semblable à la réponse Alones, ma solution était la suivante. J’ai ajouté cette ligne ou ce code:

 [[UIApplication sharedApplication] setStatusBarHidden:YES]; 

à cette fonction:

 - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 

Je n’ai pas testé cela avec iOS 6 ou plus ancien mais cela fonctionne très bien dans iOS 7.

J’utilise Xcode 6, cette solution fonctionne sur iOS 7 et 8 pour moi:

D’abord, définissez l’option “Afficher l’apparence de la barre d’état basée sur le contrôleur” sur NO dans le fichier plist.

Deuxièmement, dans AppDelegate, ajoutez ceci:

 - (void)application:(UIApplication *)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame { [application setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone]; } 

Mon problème était que j’utilisais le confinement du contrôleur de vue. Seul le contrôleur de vue le plus élevé, intégré à un contrôleur de navigation par exemple, peut masquer ou afficher la barre d’état.