如何暂停和恢复CALayer上的动画
来源:互联网 发布:数据双向绑定的原理 编辑:程序博客网 时间:2024/06/05 14:12
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中计时器的暂停和恢复
- 阻塞型设备驱动
- 火大,新浪微博封ID
- JavaScript Hacks 汇总(原创且会经常更新)
- Android编程示例之——WebView,判断JavaScript引擎是V8还是JavaScriptCore
- 设置树
- 如何暂停和恢复CALayer上的动画
- inno 学习过程
- 程序设计思想及范例
- 正则表达式入门经典(学习笔记四)——字符类
- SQL*PLUS命令的使用大全
- 从程序设计角度看B/S C/S到底有什么不同???
- 初始化游戏状态数据
- 银行业务调度系统
- Android ListView详解(很好很强大)