2010-12-13 2 views
0

Première question sur StackOverflow, alors s'il vous plaît excusez-moi si je n'ai pas fait toutes les étapes appropriées, bien que j'aie essayé de chercher une réponse pendant un moment maintenant. J'essaye de changer les coordonnées de plusieurs objets dans un UIView d'Interface Builder quand l'iPhone passe du mode portrait au mode paysage. Je ne veux pas trop mettre à l'échelle la vue, mais je veux réorganiser les objets lorsque l'iPhone passe en mode paysage, de sorte que tous les objets iront mieux. Actuellement, je cherche un moyen de définir par programmation les coordonnées X, Y, mais s'il y a une meilleure façon de faire cela, faites le moi savoir.Définir les coordonnées de l'objet Builder Interface dans XCode

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
if (UIInterfaceOrientationIsLandscape(interfaceOrientation)) { 
    /* Move IBOutlets to different X,Y coordinates */ 

} 
return YES; 

Répondre

2

shouldAutorotateToInterfaceOrientation: ne doit être utilisé la réponse à la question de savoir si le point de vue soutient une orientation particulière. Utilisez willRotateToInterfaceOrientation: ou didRotateFromInterfaceOrientation pour réorganiser les objets.

En fait, il serait probablement préférable de sous-classer UIView et de surcharger layoutSubviews.

+0

Ça sonne bien, mais comment pourrais-je finir par changer l'emplacement de ces objets? –

+0

En supposant que vous avez configuré des points de vente IB (http://developer.apple.com/library/ios/#documentation/DeveloperTools/Conceptual/IB_UserGuide/CodeIntegration/CodeIntegration.html#//apple_ref/doc/uid/TP40005344-CH18) , juste définir l'image ou le centre de l'objet, comme 'self.myLabel.frame = CGRectMake (10, 10, 200, 20)' – Brian

+0

Exactement ce que je cherchais. Je vous remercie! –

Questions connexes