2009-12-30 2 views
1

J'ai deux viewcontrollers dans mon application, l'un d'eux affiche une barre d'état opaque (par défaut) tandis que l'autre affiche une barre d'état translucide noire.iPhone - La barre d'état transparente ne redimensionne pas les sous-vues

Quand je viens du premier contrôleur de vue de l'autre, dans viewWillDisappear de controller1, je précise ce

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:YES]; 

Le masque de Autoresizing de Controller2 est défini comme suit

self.view.autoresizesSubviews = YES; 
self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 

Mais même alors , lorsque l'affichage de controller2 apparaît, la vue commence juste en dessous de la barre d'état. Je vois un espace blanc sous la barre d'état. Lorsque la barre d'état est masquée après 3 secondes, la vue s'ajuste et couvre l'espace blanc. Lorsque la vue est de nouveau affichée pour afficher la barre d'état, la vue se décale pour laisser un espace blanc en dessous de la barre d'état. Quelqu'un peut-il s'il vous plaît laissez-moi savoir comment résoudre ce problème.

Merci.

Plus d'infos

Ceci est seulement un problème avec 3.x. Avec 2.2.1 le même code fonctionne bien et la vue commence derrière la barre d'état.

Ajout d'images pour montrer ce que je veux dire alt text http://img64.imageshack.us/img64/4008/withstatus.png

alt text http://img63.imageshack.us/img63/6281/withoutstatus.png

Répondre

0

Avez-vous besoin de AutoResize la vue? Pouvez-vous ne pas simplement définir son cadre en plein écran? Cela le forcerait sous la barre.

+0

Je l'ai aussi en place. Essayé le cadre et les limites, mais les deux donnent le même résultat. – lostInTransit

Questions connexes