如何暂停和恢复CALayer上的动画
来源:互联网 发布:apache纪录片 编辑:程序博客网 时间:2024/06/05 09:05
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; }
0 0
- 如何暂停和恢复CALayer上的动画
- 如何暂停和恢复CALayer上的动画
- IOS 如何暂停和恢复CALayer上的动画
- 如何暂停和恢复CALayer上的动画
- 如何暂停和恢复CALayer上的动画
- iOS --- 如何暂停和继续CALayer上的动画
- OC和Swift中动画的暂停和恢复
- 关于动画暂停和恢复的简单说明
- iOS动画的暂停与恢复
- 如何实现线程池的暂停和恢复功能
- -线程的暂停和恢复
- 属性动画 暂停 恢复
- iOS CAlayer 动画进入后台或者 调用viewWillDisappear viewDidDisappear后动画暂停问题的解决办法
- WPF控制动画开始、停止、暂停和恢复
- WPF控制动画开始、停止、暂停和恢复
- 线程的暂停、恢复和终止
- 线程的暂停和恢复小例子
- iPhone中计时器的暂停和恢复
- android 多线程同步-synchronized关键字
- easyui 中 的同步树(2)
- Debug---Eclipse断点调试基础
- eclipse v4.5.2+maven 3.3.9配置web项目
- 第14周阅读程序1(3)
- 如何暂停和恢复CALayer上的动画
- Oracle EXP-00091解决方法
- hdu-2037-今年暑假不AC-简单DAG
- 等价二叉树
- Kvm启动ubuntu虚拟机无法ssh
- 模式识别学习笔记(十六)--非线性分类器
- BZOJ 1588 营业额统计 Splay
- android中设置ListView的选中的Item的背景颜色
- 字符串函数原型