首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何延迟CABasicAnimation?

如何延迟CABasicAnimation?
EN

Stack Overflow用户
提问于 2013-02-28 00:05:55
回答 2查看 26.5K关注 0票数 60

我有一个CABasicAnimation,想在延迟后启动它。在UIKit中,我可以指定延迟。CAMediaTiming协议有一个timeOffset属性,但我看不到效果。我的下一次尝试是使用GCD来延迟它,但感觉有点过头了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-28 00:21:56

您不应该使用[CAMediaTiming beginTime]属性(reference)吗?

请参见自定义Core Animation Programming Guide中动画的计时。

代码语言:javascript
复制
CABasicAnimation *animation;
animation.beginTime = CACurrentMediaTime() + 0.3; //0.3 seconds delay
票数 152
EN

Stack Overflow用户

发布于 2016-11-16 08:23:46

在Swift 3.0中:

代码语言:javascript
复制
func animateYourView () {
   let myDelay = 5.0
   let scalePulseAnimation: CABasicAnimation = CABasicAnimation(keyPath: "transform.scale")
   scalePulseAnimation.beginTime = CACurrentMediaTime() + myDelay
   scalePulseAnimation.duration = 0.5
   scalePulseAnimation.repeatCount = 2.0
   scalePulseAnimation.autoreverses = true
   scalePulseAnimation.fromValue = 1.0
   scalePulseAnimation.toValue = 0.5
   myView.layer.add(scalePulseAnimation, forKey: "scale")
}

其中,延迟的关键行是:

代码语言:javascript
复制
  scalePulseAnimation.beginTime = CACurrentMediaTime() + myDelay
票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15116712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档