// 暂停动画
/*
1.取出当前的动画的时间点,就是要暂停的时间点
2.将动画的运行速度设置为0,动画默认的运行速度是1.0
设置动画的时间偏移量,制定时间偏移量的目的就是让动画定格在该时间点*/
CFTimeInterval pauseTime=[self.view.layer convertTime:CACurrentMediaTime() fromLayer:nil];
[self.view.layer setTimeOffset:pauseTime];
[self.view.layer setSpeed:0];
// 动画回复
/*
1.将动画的时间偏移量为暂停的时间点
2.根据媒体时间计算出准确的启动动画时间 对之前暂停动画时间进行修正*/
pauseTime=self.view.layer.timeOffset;
CFTimeInterval beginTime=CACurrentMediaTime()-pauseTime;
[self.view.layer setTimeOffset:0]; // 清空偏移时间
[self.view.layer setBeginTime:beginTime];
[self.view.layer setSpeed:1.0];
if(self.view.layer.speed ==0){ // 如果暂停,处理动画
}else{
}
/*
1.取出当前的动画的时间点,就是要暂停的时间点
2.将动画的运行速度设置为0,动画默认的运行速度是1.0
设置动画的时间偏移量,制定时间偏移量的目的就是让动画定格在该时间点*/
CFTimeInterval pauseTime=[self.view.layer convertTime:CACurrentMediaTime() fromLayer:nil];
[self.view.layer setTimeOffset:pauseTime];
[self.view.layer setSpeed:0];
// 动画回复
/*
1.将动画的时间偏移量为暂停的时间点
2.根据媒体时间计算出准确的启动动画时间 对之前暂停动画时间进行修正*/
pauseTime=self.view.layer.timeOffset;
CFTimeInterval beginTime=CACurrentMediaTime()-pauseTime;
[self.view.layer setTimeOffset:0]; // 清空偏移时间
[self.view.layer setBeginTime:beginTime];
[self.view.layer setSpeed:1.0];
if(self.view.layer.speed ==0){ // 如果暂停,处理动画
}else{
}