如何暂停和恢复CALayer上的动画
来源:互联网 发布:剑网3萝莉捏脸数据打包 编辑:程序博客网 时间:2024/05/16 09:31
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上的动画
- 如何暂停和恢复CALayer上的动画
- IOS 如何暂停和恢复CALayer上的动画
- 如何暂停和恢复CALayer上的动画
- 如何暂停和恢复CALayer上的动画
- iOS --- 如何暂停和继续CALayer上的动画
- OC和Swift中动画的暂停和恢复
- 关于动画暂停和恢复的简单说明
- iOS动画的暂停与恢复
- 如何实现线程池的暂停和恢复功能
- -线程的暂停和恢复
- 属性动画 暂停 恢复
- iOS CAlayer 动画进入后台或者 调用viewWillDisappear viewDidDisappear后动画暂停问题的解决办法
- WPF控制动画开始、停止、暂停和恢复
- WPF控制动画开始、停止、暂停和恢复
- 线程的暂停、恢复和终止
- 线程的暂停和恢复小例子
- iPhone中计时器的暂停和恢复
- nyoj151/poj1006中国剩余定理
- iphone-OpenGL ES 教程-05--西蒙
- sql语句读取oracle数据库表的张数及表的字段数
- android Bitmap用法 很好的总结
- iphone-OpenGL ES 教程-06--西蒙
- 如何暂停和恢复CALayer上的动画
- iphone-OpenGL ES 教程-07--西蒙
- js小助手
- iphone-OpenGL ES 教程-08--西蒙
- java小助手
- iphone-OpenGL ES 教程-09--西蒙
- S5PV210 camera 驱动分析(android)
- Jquery注册服务器控件事件与判断控件的值
- iphone-OpenGL ES 教程-10--西蒙