12
votes

Cachez la barre d'état sur une seule vue Concontroller dans Storyboard

est-il possible d'avoir la barre d'état cachée dans une seule scène dans le storyboard?

Par exemple:

Je le veux caché dans "ViewController A", mais lors de la déplacement via un Segue à "ViewController B" (par exemple, un contrôleur de navigation ) La barre d'état sera montré.

Je suppose que vous pouvez le désactiver dans l'application, mais comment le faites-vous pour un ViewController ?


La suggestion de ci-dessous fonctionne, mais lors de la mise sous tension du contrôleur de navigation Il semble que la barre de navigation soit dessinée au mauvais emplacement.

Bug barre NAV


0 commentaires

4 Réponses :


30
votes

Que diriez-vous de

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    [[UIApplication sharedApplication] setStatusBarHidden:YES];

}


- (void)viewWillDisappear:(BOOL)animated{
    [[UIApplication sharedApplication] setStatusBarHidden:NO];
    [super viewWillDisappear:animated];
}


4 commentaires

Où va-t-il buggy? Lorsque vous passez de celui-ci sans la barre d'état à la fois?


Utilisez SetStatusBarHavoureux: Withanimation: si vous voulez une animation lisse.


Pouvez-vous essayer de changer ViewDidDisappear: dans ViewWilldisappear: ?


@Gabrielepetronella Désolé pour le retard dans la réponse. ViewWilldisappear: Trié, merci :)



0
votes

Ma solution: Dans le storyboard, sélectionnez votre scène et définissez la barre d'état: Aucune dans l'inspecteur des attributs.


4 commentaires

Cela le cache juste dans le scénario, mais montre quand je gère l'application.


@zaheer Quelle version d'iOS utilisez-vous?


@zaheer peut-être que cela s'applique uniquement aux versions 6.1 et précédentes .. Alors, peut-être que cela ne fonctionnera plus. J'irais avec l'autre réponse et vérifiez que celui-ci fonctionne.


@itsLittlejohn qui n'est qu'une métrique simulée et sera ignorée au moment de l'exécution. Ce n'est qu'une aide visuelle pour quand vous travaillez avec le storyboard.



17
votes

Il suffit de mettre le code sur votre mode de vueController.m (dans iOS7, Xcode 5)

- (bool) préferfersstatusbarHidden { retour oui; }


0 commentaires

0
votes

pour SWIFT 4:

override var prefersStatusBarHidden: Bool {
    return true
}


0 commentaires