先看效果图:
就这么一个图,先说下思路。首先有一个目标view,为这个view添加动画之前,先要在view边上添加一个layer,因为view的layer可以调用addsublayer方法为该view添加一个图层,所以先创建一个layer。这个layer就是我们要做的动画的操作主体。
可以看到,动画效果是由view边界开始,逐步向外扩散,同时渐渐变为透明,而且每个一秒就有一个新的动画出来,感觉是一个推着一个的。速度都是相同的。
所以,可以得到想实现动画需要的动画元素:
1,有数个animation在执行。间隔周期是1s左右,时间可以自定
2,每个animation的scale是变化的,由1开始逐渐变大,每个动画的持续时间内,最大暂时设定为2倍大小。
3,每个animation的透明度是变化的。由1-》0
4,每个animation的速度相同。
按照以上逻辑,我们来实现一下,代码:
-(void)addAnimateForView:(UIView *)view withRect:(CGRect)rect{
CALayer *layer = [CALayer layer];//创建一个layer,最后用来添加到view的图层上展示动画用
NSInte