J'ai essayé
[[UIApplication sharedApplication] setStatusBarHidden:YES];
Cela ne fait rien.
Et j'ai regardé dans mon Info.plist
fichier pour "Afficher l’apparence de la barre d’état basée sur le contrôleur", mais il n’y figure pas.
Comment masquer la barre d'état blanche en haut de l'écran (avec l'horloge et la charge de la batterie) dans mon application pour Xcode 6? Je vous remercie!
Vous devez remplacer cette méthode sur chaque contrôleur de vue, sauf si vous avez cette entrée de plist.
Objective-C
-(BOOL)prefersStatusBarHidden{
return YES;
}
Swift 2
override func prefersStatusBarHidden() -> Bool {
return true
}
Swift 3 +
override var prefersStatusBarHidden: Bool {
return true
}
Et n'oubliez pas de définir (si vous présentez un contrôleur de vue en appelant la méthode presentViewController: animée: complétion: ):
Objective-C
vcToBeShownWithoutStatusbar.modalPresentationCapturesStatusBarAppearance = YES;
Rapide
vcToBeShownWithoutStatusbar.modalPresentationCapturesStatusBarAppearance = true
Documentation: https://developer.Apple.com/reference/uikit/uiviewcontroller/1621453-modalpresentationcapturesstatusb
Si vous modifiez la barre d'état à partir d'un contrôleur de vue conteneur (par exemple, UINavigationController
ou UIViewController
avec des contrôleurs de vue enfant) et que vous souhaitez modifier le contrôleur de vue responsable de la barre d'état, vous devez utiliser childViewControllerForStatusBarHidden:
propriété. Par exemple:
Définir la première instance de contrôleur de vue toujours responsable de la gestion de la barre d'état
Objective-C
- (UIViewController *)childViewControllerForStatusBarHidden {
return childViewControllers.first; // or viewControllers.first
}
Swift 2
override var childViewControllerForStatusBarHidden() -> UIViewController? {
return childViewControllers.first // or viewControllers.first
}
Swift 3 +
override var childViewControllerForStatusBarHidden: UIViewController? {
return childViewControllers.first // or viewControllers.first
}
Définir le contrôleur de vue du conteneur responsable de la gestion de la barre d'état
Objective-C
- (UIViewController *)childViewControllerForStatusBarHidden {
return nil;
}
Swift 2
override func childViewControllerForStatusBarHidden() -> UIViewController? {
return nil
}
Swift 3 +
override var childViewControllerForStatusBarHidden: UIViewController? {
return nil
}
Documentation: https://developer.Apple.com/documentation/uikit/uiviewcontroller/1621451-childviewcontrollerforstatusbarh
pour Objective-C:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[application setStatusBarHidden:YES];
return YES;
}
Pour Swift:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey:Any]?) -> Bool {
application.statusBarHidden = true
return true
}
Terminé! Exécutez votre application et plus de barre d'état!
Vous pouvez masquer la barre d'état sans écrire une seule ligne de code, il suffit de deux entrées dans l'info.plist la première est
"Afficher l'apparence de la barre d'état basée sur le contrôleur" défini sur NO
le second est
"La barre d'état est initialement masquée" défini sur OUI
Vous pouvez ajouter cette ligne à votre fichier Info.plist si elle n'y est pas. Accédez simplement au projet dans Xcode, accédez à la section "Informations" et passez la souris sur l'une des lignes existantes. Un bouton "+" devrait apparaître, vous permettant d'ajouter une ligne et de saisir "Afficher l'apparence de la barre d'état basée sur le contrôleur".
Pour iOS 10 avec Swift 3, vous devez utiliser:
override var prefersStatusBarHidden: Bool {
get {
return true
}
}
Pas besoin d'écrire une ligne de code ... A la vôtre