web-dev-qa-db-fra.com

Comment masquer une barre d'état dans iOS?

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? 

58
user1680822

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;
}
79
Hardik Darji

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

enter image description here

Les gens, dans iOS 7+

veuillez ajouter ceci à votre fichier info.plist, cela fera la différence :)

UIStatusBarHidden UIViewControllerBasedStatusBarAppearance

enter image description here

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}

127
Charan

Ce qui m'a aidé, c'est ceci (changer de fichier de pliste):

  1. set La barre d'état est initialement masquée = YES  
  2. add row: Afficher l'apparence de la barre d'état basée sur le contrôleur = NO

Hide StatusBar - plist settings

62
Arkady

Placez ce code dans votre contrôleur de vue dans lequel vous masquez la barre d'état:

- (BOOL)prefersStatusBarHidden {return YES;}
40
Aleksandr Sis'ov

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 YESBOOL.

12
Alex Markman

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.
enter image description here

11
Kursat Turkay

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>
1
BuvinJ

Ç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.

1
Jaywant Khedkar

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!

0
JELLYFUN
-(void) viewWillAppear:(BOOL)animated
{
     [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
}
0
Gaurav Gilani

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()
}
0
codingrhythm

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.

0
Marc Millet

Pour masquer par programme la barre d'état de chaque contrôleur de vue individuel, utilisez l'une des deux procédures suivantes:

Procédure 1:

[[UIApplication sharedApplication] setStatusBarHidden: YES withAnimation: UIStatusBarAnimationNone];

Procédure 2:

- (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".

Cliquez ici pour voir la capture d'écran

0
KSR

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!

0
Trent