2010-08-03 16 views
0

J'ai une CATransition (code ci-dessous) qui déplace une vue vers le bas. Comment puis-je spécifier un emplacement pour démarrer l'animation, par exemple 60, 30.Démarrer CATransition à un emplacement spécifique

Voici le code que je suis actuellement en utilisant:

CATransition *animation = [CATransition animation]; 
[animation setDuration:0.5]; 
[animation setType:kCATransitionPush]; 
[animation setSubtype:kCATransitionFromBottom]; 
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]]; 

Répondre

0

Écrivez votre propre fonction de synchronisation qui fait ce que vous voulez?

EDIT: À l'origine, je suggérais que vous sous-classiez CAMediaTimingFunction, mais il semble que cela ne fonctionne pas correctement. Au lieu de cela, essayez d'expérimenter avec le réglage CATransition.startProgress, bien que ce soit une valeur dans [0,1], pas un nombre de pixels (si vous utilisez une animation linéaire, il devrait être facile à convertir).

Je ne suis pas encore tout à fait sûr de ce que vous entendez par "un emplacement pour l'animation de commencer", bien que - les transitions s'appliquent à l'ensemble des limites de la vue. Les animations UIView normales peuvent être plus susceptibles de faire ce que vous voulez. Si vous donnez plus de détails, il est plus facile de déterminer quel est le problème que vous tentez de résoudre.

+0

comment? Désolé, encore un noob à Quartz –