【CALayer-时钟练习-旋转 Objective-C语言】

一、好,接下来呢,我们要让它旋转出来,

通知

1.让它先旋转起来啊,这根秒针,让它先转着,

把之前的代码复制粘贴一份,改个名字,叫:07-时钟练习(旋转)

通知

旋转的话,我现在应该让它,一秒钟,旋转一次,一秒钟,旋转一次,

那么,这个时候,我们应该怎么样去做,

我现在这个是一个秒针吗,我秒针肯定是一秒钟旋转一次,

通知

那么,这个“一秒钟”,怎么办,

NSTimer,可以做,当然还有别的方法,我们先用NSTimer,来做,

2.在这个里边啊,我们直接在最后,写一个,

// 计时器

NSTimer,

通知

NSTimer schedule

通知

schedule一个时间,with一个target,

通知

[NSTimer scheduledTimerWithTimeInterval:(NSTimeInterval) target:(id) selector:(SEL) userInfo:(id) repeats:(BOOL)];

通知

输入5个参数:

1)第一个参数:scheduledTimerWithTimeInterval:(NSTimeInterval),来一个,1秒钟,写一个1,

通知

2)第二个参数,target:(id):来一个,self,

3)第三个参数,selector:(SEL):来一个,@selector(timeChange),

通知

4)第四个参数,userInfo:(id):来一个,nil,

5)第五个参数,repeats:(BOOL):来一个,YES,

通知

一秒钟,执行一遍这个方法,把这个timeChange:方法,实现一下,

// 旋转(一秒一次)

- (void)timeChange{

}

通知

3.接下来啊,我们一秒钟,应该转多少度,

通知

2 * M_PI,除以,60,吧,

我们现在一圈儿是60秒,所以呢,二倍的派,整好是360度,然后呢,再除上一个60,就可以了,

// 一秒钟旋转的角度

CGFloat angle = 2 * M_PI / 60;

通知

这是一秒钟转的角度,我现在已经知道了,

4.知道了以后呢,我们现在想让这个秒针,去进行旋转,

那么,我可以去改这个秒针的transform,

首先呢,我在这块儿啊,拿不到这个秒针,所以呢,我需要搞一个全局的东西出来啊,

通知

@property(nonatomic,weak)CALayer *second;

通知

self.second = second;

通知

self.second.transform =

second,我们要让它的秒针旋转,我们要去改变它的transform,因为我们这个只是平面的旋转,所以,改变transform也行,

通知

改变transform的这个Z轴,就是Rotate的Z轴,

上一篇:听说部门来了个00后测试开发,一顿操作给我整麻了


下一篇:云计算期末复习(1)