0

我有一个向下移动视图的 CATransition(下面的代码)。如何指定动画开始的位置,例如 60、30。

这是我目前正在使用的代码:

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

1 回答 1

0

编写自己的计时函数来满足您的需求?

编辑:我最初建议您将 CAMediaTimingFunction 子类化,但看起来这可能不会做正确的事情。相反,尝试使用 setting CATransition.startProgress,尽管它是 [0,1] 中的值,而不是像素数(如果您使用的是线性动画,那么它应该很容易转换)。

不过,我仍然不完全确定“动画开始的位置”是什么意思——过渡适用于整个视图边界。普通的 UIView 动画可能更有可能做你想做的事。如果您提供更多详细信息,则更容易弄清楚您要解决的问题是什么。

于 2010-08-03T18:47:35.833 回答