2010-11-09 2 views
0

J'ai simple UIViewController où dans le viewDidLoad je:Est correct comment je fais pivoter mon UINavigationBar?

_navigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; 
[self.view addSubview:_navigationBar]; 

_toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 416, 320, 44)]; 
[self.view addSubview:_toolbar]; 

Dans le didRotateFromInterfaceOrientation je mets:

_navigationBar.frame = CGRectMake(0, 0, self.view.bounds.size.width, 44); 

Et ça marche, mais je n'aime pas beaucoup l'effet qu'il a fait . Des idées? Merci

Répondre

0

Vous devez définir le masque de réorientation automatique approprié pour chaque vue lors de l'initialisation au lieu de modifier manuellement son cadre/ses limites/sa position lorsque la vue pivote. De cette façon, la rotation de la vue rendra automatiquement les sous-vues à redimensionner (ajustées).

par exemple:

[navigationBar setAutoResizingMask:UIViewAutoresizingFlexibleWidth]; 

ou vous pouvez combiner divers UIViewAutoresizing masques en utilisant | opérateur. Cette propriété fait la même chose que IB lorsque vous ajustez les ressorts dans chaque vue (dans la fenêtre de l'inspecteur)

+0

Merci, ça marche parfaitement! – Alleria

Questions connexes