CATransition 的延迟启动

Posted

技术标签:

【中文标题】CATransition 的延迟启动【英文标题】:Delay start of a CATransition 【发布时间】:2014-04-22 05:35:07 【问题描述】:

可以延迟 CATransition 的动画吗?我试过startProgress,但没有任何区别。

这就是我进行过渡的方式:

CATransition *animation = [CATransition animation];
    [animation setType:kCATransitionPush];
    [animation setSubtype:kCATransitionFromLeft];
    [animation setDuration:0.25];
    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:
                                  kCAMediaTimingFunctionEaseInEaseOut]];
    [animation setRemovedOnCompletion:YES];
    [self.tabBarController.view.layer addAnimation:animation forKey:@"pushAnimation"];

【问题讨论】:

为什么要推迟? 因为我需要等待一个动画(在另一个视图中)结束,然后才能开始这个动画。 你可以使用 UIView 动画。 其实可以,但是 UIView 动画没有 ​​kCATransitionPush 类的动画。我知道我可以等待其他动画结束的通知,然后再开始,但我不知道是否可以延迟它。 【参考方案1】:

请阅读:http://wangling.me/2011/06/time-warp-in-animation.html 这是一篇关于动画附加时间属性的好文章。

【讨论】:

这行得通,但是在等待延迟时,图层会闪烁黑色......无论如何,谢谢!

以上是关于CATransition 的延迟启动的主要内容,如果未能解决你的问题,请参考以下文章

如何在 CATransition 中更改视图淡入淡出的颜色

CATransition(转场动画)

为啥这个 CATransition 不起作用?

CATransition 页面从顶部卷曲

在 iOS 中使用过滤器的 CATransition

是否可以禁用 CATransition 的背景淡入淡出?