ios animation的暂停pause、恢复resume
来源:互联网 发布:dbaccess declare sql 编辑:程序博客网 时间:2024/06/01 23:15
项目中要用到动画的控制,比如说暂停、恢复继续等,先看代码:(很容易实现)
-(void)pauseLayer:(CALayer*)layer{ CFTimeInterval pausedTime = [layer convertTime:CACurrentMediaTime() fromLayer:nil]; layer.speed = 0.0; layer.timeOffset = pausedTime;}-(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;}
如果在一个view中我们添加了多个动画,(不是组合动画),同样容易实现动画的暂停、恢复,方法就是为每个动画层layer调用上面的方法,比如我的方法如下,我用的是三个单独动画的组合效果,就是如下调用的
-(void)stopAnimation;{ NSLog(@"停止动画"); //[_customView.layer removeAllAnimations]; [self pauseLayer:_customView1.layer]; [self pauseLayer:_customView2.layer]; [self pauseLayer:_customView3.layer];}-(void)resumeAnimation{ [self resumeLayer:_customView1.layer]; [self resumeLayer:_customView2.layer]; [self resumeLayer:_customView3.layer];}
0 0
- ios animation的暂停pause、恢复resume
- Fragment的pause和resume
- iOS动画的暂停与恢复
- java线程暂停与恢复suspend和resume
- pause or resume timer
- cocos2d的暂停/恢复
- cocos2d的暂停/恢复
- cocos2d的暂停/恢复
- transition和animation的暂停
- IOS 如何暂停和恢复CALayer上的动画
- Pause/Resume Instance 操作详解
- C++暂停黑窗口 system( “pause “);(getch(),getchar(),system(pause)的联系和区别!!!)
- -线程的暂停和恢复
- NSTimer的暂停与恢复
- NSTimer的暂停与恢复
- [ios开发技巧之]动画Animation中断后的恢复
- avassetwrite向同一文件重复写入 暂停,继续录制 how-to-write-to-a-single-file-multiple-times with pause/resume
- rtmpdump传输直播流 -- pause and resume
- c++接口定义及实现举例
- U-Boot-2010-03在S3C2440上的移植
- 域名合法判断
- 明升与电脑
- js关于propotype的一些事-------Day62
- ios animation的暂停pause、恢复resume
- JavaWeb--学习笔记(一)--API
- Nginx的编译安装
- 堆和栈
- 我研究的获取系统信息(应用、照片、音乐、视频)
- Android-SoundPool
- linux下目录和权限
- 如何解析xml文件
- Qt学习(三) QT信号:(signal)和QT槽:(slot)