111 votes

La barre d'état ne disparaît pas

Je suis en train de créer une application et je veux que la barre d'état soit cachée. Lorsque je teste l'application, la barre d'état est masquée pendant l'affichage de l'écran d'accueil, mais une fois l'application entièrement 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 en utilisant l'inspecteur d'attributs sur le fichier .xib. Rien ne semble fonctionner.

Des idées ?

220voto

Quentin Points 2309

Essayez d'ajouter la méthode suivante au contrôleur de vue Root de votre application :

- (BOOL)prefersStatusBarHidden
{
    return YES;
}

125voto

Idan Points 4414

Vous devez ajouter cette valeur à plist : " Afficher l'apparence de la barre d'état basée sur le contrôleur "et le régler sur " NON ".

Cela vous permettra de régler la barre d'état sur mode caché . Cela lui donne un caractère global, contrairement aux autres réponses fournies.

UPDATE : Si vous voulez que la barre d'état soit cachée sur l'écran de démarrage, n'oubliez pas de cocher la case " Masquer pendant le lancement de l'application "sur les options de la barre d'état cible. Vous pouvez également ajouter " La barre d'état est initialement cachée " à " OUI "sur le plist si vous ne voulez pas le faire avec du code dans l'application.

73voto

Sven Points 879

Le code que vous avez posté fonctionne pour iOS 6.1 et inférieur. Pour iOS 7, Apple a mis à disposition de nouvelles méthodes permettant de contrôler directement la barre d'état pour chaque vue. En désactivant cette option dans votre Info.plist vous permettra de masquer la barre d'état, du moins pour l'actuelle Developer Preview (4).

Add this and set to NO

À titre de référence, veuillez consulter le guide de transition vers iOS 7 disponible sur le portail des développeurs d'Apple.

36voto

J'ai essayé de cacher la barre d'état dans toutes mes applications et dans le fichier "app"-info.plist, j'ai ajouté deux lignes dans le dictionnaire "Information Property List", j'ai ajouté "View controller-based status bar appearance" (apparence de la barre d'état basée sur le contrôleur d'affichage) à NO et dans "Status bar is initially hidden" (la barre d'état est initialement cachée) à YES et pour moi, ça marche n_n'.

plist info

17voto

alones Points 1278

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

Dans ce cas, vous devez 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];
    }

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