微网站工程案例展示,天津做网站建设,定西seo霸屏推广,湛江怎样建设自己的网站#pragma mark 动画暂停- (void)pauseAnimation{// 1. 取出当前的动画的时间点#xff0c;就是要暂停的时间点CFTimeInterval pauseTime [self.myView.layer convertTime:CACurrentMediaTime() fromLayer:nil];// 2. 设置动画的时间偏移量#xff0c;指定时间偏移量的目的是让… #pragma mark 动画暂停- (void)pauseAnimation{// 1. 取出当前的动画的时间点就是要暂停的时间点
CFTimeInterval pauseTime [self.myView.layer convertTime:CACurrentMediaTime() fromLayer:nil];// 2. 设置动画的时间偏移量指定时间偏移量的目的是让动画定格在该时间点
[self.myView.layer setTimeOffset:pauseTime];// 3. 将动画的运行速度设置为0动画默认的运行速度是1.0
[self.myView.layer setSpeed:0.0];}#pragma mark 恢复动画- (void)resumeAnimation{// 1. 将动画的时间偏移量作为暂停时的时间点
CFTimeInterval pauseTime self.myView.layer.timeOffset;// 2. 根据媒体时间计算出准确的启动动画时间对之前暂停动画的时间进行修正
CFTimeInterval beginTime CACurrentMediaTime() - pauseTime;// 3. 要把偏移时间清零
[self.myView.layer setTimeOffset:0.0];// 4. 设置图层的开始动画时间
[self.myView.layer setBeginTime:beginTime];[self.myView.layer setSpeed:1.0];}注意
// 对于循环播放的动画效果一定要将removedOnCompletion设置为NO否则无法恢复动画[anim setRemovedOnCompletion:NO];#pragma mark 旋转动画- (void)rotationAnimation{// 1. 实例化基本动画// 默认按照z轴旋转
CABasicAnimation *anim [CABasicAnimation animationWithKeyPath:transform.rotation.z];[self.myView.layer setAnchorPoint:CGPointMake(0, 0)];// 2. 设置动画属性// 不停的旋转// 1) 旋转一周
[anim setToValue:(2 * M_PI)];// 2) 不停的旋转 - 动画循环播放// HUGE_VALF 是一个非常大得浮点数指定此数值可以认为动画无限循环// MAXFLOAT
[anim setRepeatCount:HUGE_VALF];[anim setDuration:0.5f];// 3) 动画完成时删除// 对于循环播放的动画效果一定要将removedOnCompletion设置为NO否则无法恢复动画
[anim setRemovedOnCompletion:NO];// 3. 添加动画// key可以随便指定用于判断图层中是否存在该动画
[self.myView.layer addAnimation:anim forKey:rotationAnim];} 转载于:https://www.cnblogs.com/yyh123/p/3346439.html