2010-07-12 11 views
0

J'utilise l'exemple de code d'Apple pour avoir des contrôleurs de vue Portrait et Paysage séparés (présentation/rejet d'un contrôleur de vue modale à partir de la méthode orientationChanged). Cependant, cela crée un certain nombre de problèmes:Comment puis-je effectuer une transition en douceur entre les contrôleurs UIViewControllers Portrait et Landscape séparés?

  1. La barre d'état ne tourne pas. Si je définis manuellementStatusBarOrientation, j'ai un comportement très étrange.
  2. La transition est très abrupte; Je préfère l'animation lisse classique, surtout parce que ...
  3. 90% des vue des changements, mais il y a deux images qui doit correspondre exactement à la même (même taille, même position, même orientation ) dans à la fois le paysage et les modes portrait.

Mon objectif est une transition de rotation plus semblable à celle de l'application Stocks. Comment puis-je atteindre cet objectif?

Merci.

Répondre

0

Vous pouvez utiliser l'animation principale pour cela. Masquer tous les éléments qui n'apparaissent pas dans l'autre vue (en animant l'opacité). Déplacez et faites pivoter les objets qui sont identiques dans chaque vue. Et enfin fondre dans de nouveaux objets dans la deuxième vue. Cela pourrait devenir compliqué, selon la complexité de votre point de vue. Jetez un oeil à these methods pour savoir où implémenter les animations:

– willRotateToInterfaceOrientation:duration: 
– willAnimateRotationToInterfaceOrientation:duration: 
– willAnimateFirstHalfOfRotationToInterfaceOrientation:duration: 
– didAnimateFirstHalfOfRotationToInterfaceOrientation: 
– willAnimateSecondHalfOfRotationFromInterfaceOrientation:duration: