2009-09-15 9 views
5

Je suis en train de développer une application iPhone qui passe d'une vue de table à une vue plein écran paysage (similaire à l'application YouTube). Dans ce cas, je souhaite masquer la barre d'état, puis l'afficher à nouveau lorsque je repasse en mode tableau. J'utilise setStatusBarHidden mais cela semble cacher la barre d'état sans agrandir la zone de l'écran; il y a toujours une barre vide où la barre d'état était. Si vous définissez la propriété de la barre d'état masquée dans Info.plist, j'obtiens la zone d'écran agrandie, mais lorsque la barre d'état s'affiche, elle recouvre la vue.Masquage/affichage de la barre d'état

Comment masquer la barre d'état de manière à ce que le plein écran soit disponible pour ma vue lorsqu'elle est masquée et uniquement pour l'écran sous la barre d'état lorsqu'elle est affichée?

TIA.

Craig

PS: copier/modifier cette question de la discussion de l'application. ne pas trouver une bonne solution http://discussions.apple.com/thread.jspa?threadID=1580662&start=15&tstart=0

Répondre

11

Votre contrôleur de vue devrait avoir wantsFullScreenLayout ensemble YES, ainsi que cacher la barre d'état: Voir UIViewController reference.

+0

merci pour une réponse rapide. Essayez maintenant. – angrysword

+0

Ouais, ça marche, merci – angrysword

1

Si quelqu'un cherche une solution où la solution ci-dessus ne fonctionne pas (et il y a toujours un trou bleu ennuyeux 20px en haut), essayez de le placer dans viewWillAppear sur le fichier d'implémentation du contrôleur de vue que vous voudrait que la barre d'état soit cachée.

self.navigationController.navigationBar.frame = CGRectOffset(self.navigationController.navigationBar.frame, 0.0, -20.0); 

Cela m'a littéralement fallu 12 heures pour ainsi fixer, et qui était la solution, maintenant je suis passer le mot au cas où quelqu'un d'autre a ce problème ennuyeux.

Questions connexes