2009-03-10 9 views
7

Je suis bien conscient qu'il n'y a que deux transitions UIView disponibles, UIViewAnimationTransitionFlipFromLeft et UIViewAnimationTransitionFlipFromRight. Je me demande s'il y a de toute façon que je peux implémenter/émuler un UIViewAnimationTransitionFlipFromTop ou UIViewAnimationTransitionFlipFromBottom. La seule manière que je peux penser pour faire ceci est en renversant l'axe des x avec l'axe des ordonnées, mais je n'ai vu aucune information sur comment faire ceci. Le simple réglage des coordonnées de chaque axe ne résoudra pas le problème car l'axe des x reste l'axe des x.Renverser les UIViews de haut en bas

Est-ce que quelqu'un a des idées sur la façon dont cela peut être accompli?

+0

O.o Un autre Ryan Amos sur SO? –

+0

J'ai posté la réponse pour flipFromBottom qui a fonctionné pour moi http://stackoverflow.com/questions/5144446/uiview-flip-vertical-animation/7463047#7463047 – xxcv

Répondre

4

Vous pouvez le faire en appliquant un CATransform3D au CALayer de votre vue principale, avec le calayer de votre vue secondaire derrière celui-ci. Dans this response, je pointe vers une implémentation Mac de cette animation par Mike Lee. Vous devriez être en mesure de réutiliser une partie importante de ce code pour recréer cet effet sur l'iPhone.

3

Supposons que vous deviez utiliser un bloc d'animation UIView avec une transformation de rotation 3D de 90 degrés, demandez au délégué Core Animation de vous appeler lorsque cela est fait, permutez la vue avec la nouvelle (rotation 3D de l'autre côté) et chaîne avec les 90 derniers degrés pour la nouvelle vue ...

1

Bien que ce ne soit pas exactement ce que vous voulez, il existe deux animations intégrées que vous n'avez pas mentionnées: UIViewAnimationTransitionCurlDown et UIViewAnimationTransitionCurlUp. CurlUp a l'air de quelqu'un qui décolle la vue de bas en haut, et CurlDown a l'air de dérouler la vue sur le haut de l'écran de haut en bas. Vous devriez au moins leur donner un coup d'oeil, car ils sont faciles à utiliser.

Questions connexes