2010-10-30 5 views
1

J'ai un UIImage dans un UIImageView dans mon application. En mode portrait, l'image est centrée mais lorsque je passe en mode paysage, elle reste sur la gauche. J'ai donc ajouté la méthode suivante dans mon fichier .m mais le problème est que j'ai une application TabBar, donc quand je tourne l'appareil sur un autre onglet et que je reviens à l'onglet contenant l'image, il ne tourner automatiquement.Centrer automatiquement un UIImageView après rotation

Il existe un moyen de faire pivoter automatiquement tous les éléments de l'application lors de la rotation de l'appareil sur n'importe quel onglet?


-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { 
    if((self.interfaceOrientation == UIDeviceOrientationLandscapeLeft) || (self.interfaceOrientation == UIDeviceOrientationLandscapeRight)){ 
     background.image = [UIImage imageNamed:@"back2-landscape.png"]; 
    } else if((self.interfaceOrientation == UIDeviceOrientationPortrait) || (self.interfaceOrientation == UIDeviceOrientationPortraitUpsideDown)){ 
     background.image = [UIImage imageNamed:@"back2-portrait.png"]; 
    } 
} 

Merci :-)

Répondre

7

Il y a deux options:

* 1. Faites dans IB - Tournez off tous ces petits espaces et flèches dans la zone "Autosizing" sous le "Size Inspector". Vous devriez alors pouvoir "simuler l'interface" et faire pivoter le dispositif [simulé], l'objet restant centré.

alt text

* 2. Faites-le programme, en didRotateFromInterfaceOrientation en faisant quelque chose comme:

[theObject setCenter:self.center]; 
+0

Je l'ai fait en utilisant la première méthode et cela a fonctionné parfaitement. Merci beaucoup :-) – bnabilos

Questions connexes