使用CAAnimation实现CATransition推送
如何在iOS中使用
CAAnimation
子类实现kCATransitionPush
?
CAAnimation *animation;
// How do you create an animation that does the same than:
// CATransition *animation = [CATransition animation];
// [animation setType:kCATransitionPush];
[self.view.layer addAnimation:animation forKey:nil];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
[self.view addSubview:change];
[UIView commitAnimations];
我知道也可以使用UIView
动画,但是如果我能从头开始实现kCATransitionPush
过渡,它将有助于我更好地理解核心动画。
没有找到相关结果
已邀请:
2 个回复
坛沤疲撑拆
nextViewAnimation将是:
和currentViewAnimation:
这些方法创建基本动画:
使用布尔值前进,您可以模拟“从左”或“从右”的过渡。
坊岔埠绵
确实包含淡入淡出。要使用自己的
复制转换,首先需要了解推送动画的工作原理。我这样做没有测试,所以这可能会关闭,但如果我没记错,子层B替换子层A的动画是这样的: A层从原始位置移动到右侧 B层从A的右侧移动到原始位置 动画层B的前半部分将其不透明度从0动画为1 动画图层A的后半部分将其不透明度从1设置为0 (当然你可以在这里用任何方向替换)。
仅支持动画一个属性,因此您必须创建一个控制4种不同动画的
。 像这样创建位置和不透明度的动画: