0

J'ai un peu un scénario bizarre ici et j'ai essayé de trouver de l'aide, mais les solutions ne résolvent pas vraiment mon problème plutôt que de l'aggraver.Est-il possible de couvrir temporairement une barre d'état iOS 7 avec un UIView?

J'ai un container viewController qui a trois vues de contrôleurs enfants dans une vue de défilement horizontale. Ma vue de contrôleur enfant par défaut est ma page de caméra personnalisée. Maintenant c'est ce que je veux accomplir. Je voudrais garder la barre d'état cachée sur ma page de caméra mais aimerais que les deux autres vues alias mes deux autres contrôleurs enfants affichent la barre d'état. Lorsque je glisse de mon contrôleur enfant gauche vers ma page caméra ou de mon contrôleur enfant droit vers ma page caméra, je souhaite que l'affichage de la page de l'appareil photo chevauche la barre d'état.

Le seul endroit où j'ai vu cela est fait sur Snapchat et j'ai essayé pendant quelques heures de le découvrir, mais je n'arrive pas à trouver une solution. Toute aide est appréciée.

+0

double possible de [barre d'état Hiding iOS 7] (http://stackoverflow.com/questions/18971496/hiding-status-bar- ios-7) –

+0

@MichaelRobinson Non, ma situation est différente. Je sais comment cacher une barre d'état d'un viewController en appelant simplement une méthode simple. J'ai chevaucher la barre d'état avec mon AFFICHAGE de page d'appareil-photo puisque j'ai trois vues de viewController d'enfant étant contrôlées par un conteneur de contenu viewController. –

+0

Très intéressant. Lancez Snapchat sur un iPad - la zone où la barre d'état devrait être endommagée lors de la transition. –

Répondre

0

Vous pouvez le faire avec la barre d'état réel. Procurez-vous le UIView dont vous avez besoin les barres d'état puis jouer avec le UIWindowLevel comme celui-ci

//Getting the Statusbar 

    UIView *statusbar; 
    NSString *key = @"statusBar"; 
    id object = [UIApplication sharedApplication]; 
    if ([object respondsToSelector:NSSelectorFromString(key)]) { 
     statusbar = [object valueForKey:key]; 
    } 

    //Set your Overlapping UIViewController or UIView one Level higher then the Statusbar. 
    self.navigationController.view.window.windowLevel = UIWindowLevelStatusBar+1; //This will set the Overlapping UIViewControllers WindowLevel over the StatusBar. 
+0

Hey, vous avez commencé nice, mais n'a pas joint de code pour changer le niveau de la fenêtre pour que la réponse soit complète. Je ne veux pas écrire une autre réponse pour cela, s'il vous plaît ajouter le code de niveau de la fenêtre: D –

+0

@FahriAzimov Salut, j'ai ajouté le code. C'est vraiment facile à utiliser. –

Questions connexes