Comment En Appeler de la barre de statut impacts UIViewController de vue de la taille?

J'essaie de comprendre comment la view associée à un UITabBarController, UINavigationController ou UIViewController réagit lors de l'appel de la barre de statut est activé.

Mon problème, c'est qu'ils semblent se comporter différemment et cela me cause des effets secondaires.

J'ai fait un projet qui change la vue de la racine de contrôleur de la fenêtre pour les 3 types ci-dessus et j'ai un dump de la description de la view pour obtenir le cadre de coordonnées.


  • UIViewController

Comment En Appeler de la barre de statut impacts UIViewController de vue de la taille?

inCall statut HORS:

UIView: 0x4e2a1f0; cadre = (0 20; 320 460); autoresize = W+H; .... 

SUR

UIView: 0x4e2a1f0; cadre = (0 40; 320 440); autoresize = W+H; ...

Ce que je comprends : quand l'appel barre d'état s'affiche, la hauteur de la vue de la UIViewController se rétrécit et perd 20, et son y coord se déplace de 20 à 40.

C'est parfait ! Je m'attends à la même chose lors du remplacement d'un classique UIViewController avec un UITabBarController ou un UINavigationController mais ce n'est pas le cas !


  • UINavigationController

    Comment En Appeler de la barre de statut impacts UIViewController de vue de la taille?

InCall barre d'état HORS

UILayoutContainerView: 0x4b35ab0; cadre = (0 0; 320 480); autoresize = W+H; ..

SUR

UILayoutContainerView: 0x4e1b060; cadre = (0 0; 320 480); autoresize = W+H; ..

Dans ce cas, le point de vue traitées par le UINavigationController ne dispose pas de son cadre propriétés modifiées lors de l'appel de la barre de statut est activé?! (pourquoi ? 🙁 )


  • UITabBarController

Comment En Appeler de la barre de statut impacts UIViewController de vue de la taille?
HORS

UIView: 0x4b2f6a0; cadre = (0 20; 320 460); autoresize = W+H; ...

SUR

UIView: 0x4b2f6a0; cadre = (0 20; 320 460); autoresize = W+H; ...

Même que dans le UINavigationController: le view de la UITabBarController ne semble pas être touché lorsque l'incall barre d'état est activé.


Quelqu'un peut-il m'expliquer comment ce redimensionnement fonctionne lors de l'affichage de la incall barre d'état s'affiche ?

Mon objectif final est d'afficher une UIView qui est montré ci-DESSUS l'ensemble de la UITabBarController et qui se redimensionne correctement lorsque le statut de l'appel est affichée. Cependant, je ne sais vraiment pas où mettre ce point de vue dans le point de vue de la hiérarchie : si je l'ajouter en tant qu'enfant de la UITabBarController de vue, que celui-ci ne réagit pas à la incall affichage de l'état, mine de ne pas réagir ainsi 🙁

  • +1 pour les soins à ce sujet.
InformationsquelleAutor yonel | 2011-03-30