2010-07-26 3 views
1

essayez ceci,Pourquoi la vue en mode paysage affiche-t-elle toujours la largeur moins que la hauteur?

Dites que vous avez une simple application en mode paysage iphone, comme une simple application viewcontroller.

également décommenter l'autorotation dans viewcontroller fichier .m comme si

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    NSLOG(@"width:%f,height:%f",self.view.frame.size.width,self.view.frame.size.height); 
    return YES; 
} 

après cela, il suffit de lancer la chose sur simulateur d'iphone, et essayer de le faire pivoter par commande + gauche + droite ou commande.

Je m'attendrais à ce que j'obtienne quelque chose comme largeur: 320.000, hauteur: 480.000 quand en portrait et largeur: 480.000, hauteur: 320.000 en mode paysage.

à la place, j'ai toujours la largeur: 320.000, hauteur: 480.000 quelle que soit l'orientation réelle. Donc, ma question est de savoir ce que je dois obtenir automatiquement la taille de la vue correctement?

Répondre

0

Essayez d'obtenir la largeur/hauteur:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation 

{ 
    NSLog(@"view frame: %@",NSStringFromCGRect(self.view.frame)); 
} 

également votre point de vue doit avoir UIAutoresizingMasks fixés afin de redimensionner lors d'une rotation.

Questions connexes