2010-05-06 4 views
4

J'essaie de créer une application qui gère l'orientation/la rotation de la même façon que l'application Calc intégrée.Comment faire la rotation d'orientation comme intégré dans l'application Calc?

Si vous consultez cette application, en mode portrait, il y a une calculatrice normale, et si vous faites pivoter en mode paysage, d'autres boutons apparaissent à gauche.

Je n'arrive pas à comprendre comment faire cela en définissant les masques de saisie automatique. Le problème est que la vue de la calculatrice "normale" est large de 320px en mode portrait, mais effectivement rétrécit à environ 240px en mode paysage pour s'adapter aux contrôles supplémentaires. J'ai vu des exemples comme l'exemple d'application AlternateViews qui ont deux contrôleurs de vue différents (un pour le portrait et un pour le paysage), mais ils ne semblent pas animer les transitions entre les vues comme l'application Calc.

J'ai également essayé de définir les cadres pour les vues manuellement dans willAnimateSecondHalfOfRotationFromInterfaceOrientation, mais cela ne semble pas "tout à fait correct" et je ne sais pas comment cela fonctionne avec le masque autoresize.

Des idées comment cela est fait? Merci!

Répondre

2

Juste outrepasser l'appel de méthode suivante:

- (void)willRotateToInterfaceOrientation: (UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

donc ils ont l'air agréable à l'intérieur de redimensionne il tous vos composants.

+0

J'ai essayé mais les animations ne semblaient pas très fluides. –

+0

Le problème était que j'avais toujours le masque d'autosizing, ce qui perturbait les résultats de l'animation. Quand je l'ai éteint les choses semblent acceptables (mais pas encore aussi bon que l'application calc). Accepter cela pour le moment:] –

+0

Ah, c'est logique. Bonne chance avec votre application! – Pyro2927

Questions connexes