代码之家  ›  专栏  ›  技术社区  ›  Matt S.

在特定位置开始转换

  •  0
  • Matt S.  · 技术社区  · 15 年前

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

    以下是我当前使用的代码:

    CATransition *animation = [CATransition animation];
    [animation setDuration:0.5];
    [animation setType:kCATransitionPush];
    [animation setSubtype:kCATransitionFromBottom];
    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
    
    1 回复  |  直到 15 年前
        1
  •  0
  •   tc.    15 年前

    写下你自己的计时函数来做你想做的?

    编辑: 我最初建议您对cameratimingFunction进行子类划分,但看起来这可能做不到正确的事情。相反,尝试设置 CATransition.startProgress 尽管它是一个以[0,1]为单位的值,而不是一个像素数(如果您使用的是线性动画,那么它应该很容易转换)。

    我仍然不完全确定你所说的“动画开始的位置”是什么意思,尽管“过渡”适用于整个视图边界。普通的uiview动画可能更容易做到你想要的。如果你提供更多的细节,就更容易找出你要解决的问题是什么。