如何暂停和恢复CALayer上的动画

原创 2016年05月31日 17:57:36

coreAnimation的动画是存在于CALayer上面的,有些时候需要突然暂停某个组件的动画效果,同时保留当前动画的状态,

如果是用removeAnimation会显得很突兀,不够平滑,所以可以利用设置动画速度和设置一个时间偏移量来暂停动画:

//用来暂停layer上的动画  
-(void)pauseLayer:(CALayer*)layer  
{  
    CFTimeInterval pausedTime = [layer convertTime:CACurrentMediaTime() fromLayer:nil];  
    layer.speed = 0.0;  
    layer.timeOffset = pausedTime;  
}  
//恢复layer上的动画  
-(void)resumeLayer:(CALayer*)layer  
{  
    CFTimeInterval pausedTime = [layer timeOffset];  
    layer.speed = 1.0;  
    layer.timeOffset = 0.0;  
    layer.beginTime = 0.0;  
    CFTimeInterval timeSincePause = [layer convertTime:CACurrentMediaTime() fromLayer:nil] - pausedTime;  
    layer.beginTime = timeSincePause;  
}  


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

CAlayer层的隐式动画属性

  • 2014-11-20 10:58
  • 1.12MB
  • 下载

iOS动画之CALayer

UIView与CALayer的关系 1,UIView可以相应事件,CALayer不可以 2,UIView侧重于内容的管理,CALayer侧重于内容的绘制 3,两者紧密联系,缺一不可 UIVie...

CALayer动画

  • 2016-09-08 19:20
  • 333KB
  • 下载

CALayer的动画属性

CALayer的动画属性,mark一下,备忘。 以下CALayer类的属性可以被核心动画执行动画。可以查看CALayer来获取更多的信息。  anchorPoint 使用表 1 中所述默...

iOS —— CALayer 层的属性及隐式动画

CALayer 进一步理解 CALayer包含在QuartzCore框架中,这是一个跨平台的框架,既可以用在iOS中又可以用在Mac OS X中。在使用Core Animation开发动画的本质就...

CALayer的隐式动画实例 - 钟表

表盘的设置 ClockPan.h#import @interface ClockPan : UIView@property (nonatomic, strong) UIImage *image;- (...

CALayer,动画

UIView *tView = [[UIView alloc] initWithFrame:CGRectMake(50, 50, 100, 100)]; [self.view addSubview:...

CALayer的隐式动画

何为隐式动画隐式动画就是直接改变layer的一些属性时,并没有作动画处理,layer会附带有动画效果,而不是直接瞬间变化,这个动画时间默认是0.25秒。layer的哪些属性有隐式动画区分属性是不是具有...

iOS 为CALayer添加可动画的属性(以二维码切换扫描区域为例)

原创Blog,转载请注明出处 http://blog.csdn.net/hello_hwc?viewmode=list 我的stackoverflow我的Github https://git...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)