ios animation的暂停pause、恢复resume
2014-07-09 22:46
232 查看
项目中要用到动画的控制,比如说暂停、恢复继续等,先看代码:(很容易实现)
如果在一个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];
}
-(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];
}
相关文章推荐
- ios animation暂停pause、恢复resume
- avassetwrite向同一文件重复写入 暂停,继续录制 how-to-write-to-a-single-file-multiple-times with pause/resume
- iOS开发网络篇—文件下载(暂停和恢复)
- java线程暂停与恢复suspend和resume
- 暂停线程suspend()和恢复线程resume()
- [ios开发技巧之]动画Animation中断后的恢复
- iOS-NSTimer-pause-暂停-引用循环
- iOS动画的暂停与恢复
- cocos2dx利用pauseAllRunningActions()暂停并恢复动作
- iOS开发网络篇—文件下载(四·暂停和恢复)
- IOS/Swift 暂停和恢复图层动画
- iOS开发网络篇—文件下载(暂停和恢复)
- Unity3D Animation暂停与恢复
- IOS 暂停和恢复CALayer上的动画(转)
- iOS开发网络篇—文件下载(四·暂停和恢复)
- iOS m3u8本地缓存播放(控制下载并发、暂停恢复)
- iOS边练边学--多线程NSOperation介绍,子类实现多线程的介绍(任务和队列),队列的取消、暂停(挂起)和恢复,操作依赖与线程间的通信
- iOS学习笔记-118.多线程17——NSOperationQueue队列的取消、暂停、恢复
- [iOS 多线程 & 网络 - 2.4] - 大文件下载 (边下边写/暂停恢复下载/压缩解压zip/多线程下载)
- IOS第二天多线程-05NSOperationQueue 暂停,和恢复队列任务