iOS - layer 类似时钟指针转动

作者: 古流风 | 来源:发表于2016-03-10 16:21 被阅读839次

第一篇博客,不知从何处下手。

说下layer,先看下效果吧。

layer-try2.gif

CALayer就是UIView的视图层,你所看到的UIView,其实是UIView的layer,创建layer之后要添加到UIView上

[self.view.layer addSublayer:self.layer1];

下面是动画的的代码,关于北背景图片什么到底demo中会有。

//动画载体   
self.layer1 = [CALayer layer];  
self.layer1.frame = CGRectMake(0, 0, 207, 207);
self.layer1.position = CGPointMake(self.view.bounds.size.width/2+1,self.view.bounds.size.height/4+1);  
[self.view.layer addSublayer:self.layer1];
//设置动画代理   
 self.layer1.delegate = self;  
//设置动画  
[self.layer1 setNeedsDisplay];  
//动画  作用在layer某个属性上,动画效果不会影响layer原有的属性值
CABasicAnimation * animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
//动画时长
animation.duration = 3.0;
//动画的初始值
animation.fromValue = [NSNumber numberWithFloat:0];
 //动画的结束时的值
animation.toValue = [NSNumber numberWithFloat:((360*M_PI)/180)];
//动画结束时的状态
/*
  kCAFillModeForwards  保持结束时的状态
  kCAFillModeBackwards    回到开始时的状态
  kCAFillModeBoth        兼顾以上的两种效果
  kCAFillModeRemoved      结束时删除效果
*/
animation.fillMode = kCAFillModeForwards;
//动画的重复次数
animation.repeatCount = HUGE_VALF;
//开始动画  
[self.layer1 addAnimation:animation forKey:@"rotation"];

layer时CABasicAnimation还有一些其他的属性比如说:

//延时执行
animation1.beginTime = CACurrentMediaTime()+1;
//设置动画速度
animation1.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
//动画翻转
animation. autoreverses = NO;
//动画完成时是否移除
animation.removedOnCompletion = NO;

layer还有一个属性要说一下:

//动画运动时的锚点
 self.layertime.anchorPoint = CGPointMake(0.5, 0);

anchorPoint 锚点
称为“定位点”、“锚点”
决定着CALayer身上的哪个点会在position属性所指的位置
以自己的左上角为原点(0, 0)
它的x、y取值范围都是0~1,默认值为(0.5, 0.5)
当图形转动时,他会根据锚点转动

我是一个分享者,详情请参考:http://www.cnblogs.com/wendingding/p/3800736.html 我是一个分享者,详情请参考:http://www.cnblogs.com/wendingding/p/3800736.html

github:https://github.com/wolf3357/try-layer
如有错误请指出,同时希望对您会有为帮助。

相关文章

  • iOS - layer 类似时钟指针转动

    第一篇博客,不知从何处下手。 说下layer,先看下效果吧。 CALayer就是UIView的视图层,你所看到的U...

  • 约束、旋转动画和 iOS 7

    iOS7系统时,当在有约束的 view 上添加旋转动画时,记得把旋转动画添加的 view.layer 上面,不要直...

  • 时钟

    墙上的时钟指针 不停的在转动 时钟里的数字 反复的看过数次 是那么熟悉而清晰 无论你是在家中 还是在别的视角 无论...

  • 奔跑的爱情

    广场时钟的指针漫不经心转动 懒懒的风吹不动沉闷的空气 女孩来回起身转动张望 被紧紧拽住的裙摆 猛烈跳动的胸腔 抽身...

  • 滴答滴答

    滴答滴答滴答 时钟在不停地响 磅澜 指针停止了转动 但是,时间还是一直在滴答滴答的走

  • 攒钱,养金鹅的第四十九天~

    时钟转动指针 命运推动齿轮 钟声响起 (「・ω・)「嘿,按时起床 简单整理自己 迈着旧日足迹 进入每日任务状态 发...

  • iOS 弹球、画圆、旋转动画

    iOS 自己整理的类似弹球动画、画圆、旋转动画 动画github 链接地址

  • 开心

    文章来源: 原创 编辑: 刘恒琳 时钟的指针周而复始的转动着,遥望天际云朵,点缀蔚蓝天空,却无法修饰我心。在...

  • 诗歌|我在橱窗旁吻她

    我在橱窗旁吻她。 看她, 骄傲的眉眼带笑。 时钟滴答, 指针转动的声响, 大约, 三百六十五秒。 我在橱窗旁吻她。...

  • iOS动画(一):时钟动画(Swift)

    参考:iOS动画系列之一:通过实战学习CALayer和透视的原理。做一个带时分秒指针的时钟动画(上)iOS动画系列...

网友评论

    本文标题:iOS - layer 类似时钟指针转动

    本文链接:https://www.haomeiwen.com/subject/dkutlttx.html