2010-02-25 4 views
3

J'ai lu dans la documentation d'Apple sur le comportement de redimensionnement de UINavigationController et cela n'a pas vraiment posé de problème jusqu'à maintenant.UINavigationController autoresizing comportement des vues

Je le code suivant pour mettre en place mon avis de UINavigationController:

navController.view.frame = CGRectMake(0, 40, 320, 420);

et cela suffit jusqu'à ce que la vue est obscurci par une vue modale, à quel point la vue est redimensionnée à la taille par défaut quelque part entre les appels de viewWillAppear et viewDidAppear (comme UINavigationController hérite de UIViewController). Je tente de garder une bannière visible au-dessus du UINavigationController (dans l'espace disponible de 40 par 320) mais cette bannière est systématiquement obscurcie comme décrit ci-dessus.

Existe-t-il un moyen de réduire le comportement de redimensionnement de UINavigationController sans sous-classer UIViewController moi-même?

Répondre

2

Dans le Générateur d'interface, vous pouvez décocher la case à cocher Redimensionner automatiquement.

Dans le code, il est

[myNavController.view setAutoresizesSubviews: NO]; 
0

Je vais essayer

myNavController.superview.autoresizesSubviews = NO 

et, évidemment, vérifier myNavController.autoresizingMask

En dernier recours, la sous-classe et son superview réimplémentez layoutSubviews

Questions connexes