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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//用来暂停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; 

最新文章

  1. LeetCode Shortest Distance from All Buildings
  2. nodejs初探(四)实现一个多人聊天室
  3. 802.11协议帧格式、Wi-Fi连接交互过程、无线破解入门研究
  4. Xamarin Android提示内存溢出错误
  5. Hyper-V网络虚拟化--VM之间拷贝速度慢
  6. 有关sybase的一些零星经验
  7. Winform获取应用程序的当前路径
  8. oradebug推进scn
  9. Excel设置下拉选项的方法
  10. 【解惑】剖析float型的内存存储和精度丢失问题
  11. swing-窗体添加背景图片的2种方法
  12. JAVA 多线程(2)
  13. IPv6地址测试宏
  14. sql 2005性能调优
  15. centos install jdk
  16. Android2.2+opencv3.1配置实现
  17. [Web 前端 ] 还在用浮动吗?CSS flex布局你了解多少?
  18. redis5.0主从配置
  19. 十八、springboot中hibernate配置sessionFactory访问数据库
  20. python学习笔记(二十八)日志模块

热门文章

  1. 我对于js注入的理解
  2. Mac 因误使用chmod -R 777 命令更改 /usr/bin 造成终端不能实用,提醒进程已结束的完美解决方案!
  3. 【转】MapReduce:默认Counter的含义
  4. python 列表、元组 详解
  5. Selenium - WebDriver: Page Objects
  6. [错误处理]AttributeError: 'generator' object has no attribute 'next'
  7. OgnlValueStack 源码
  8. 字符串匹配算法(在字符串T中查找是否有与字符串P相同的子串)
  9. JS判断是否是IE浏览器的几种方式
  10. BZOJ 1096: [ZJOI2007]仓库建设(DP+斜率优化)