咻一咻动画的实现

2017-04-25  本文已影响35人  在逃科学家
咻一咻

实现逻辑:

第一步:设置VC的背景颜色

self.view.backgroundColor=[UIColor colorWithRed:21/255.0 green:21/255.0 blue:36/255.0 alpha:1];

第二步:中间创建button并添加点击事件

- (void)viewDidLoad {

[super viewDidLoad];

//添加背景图片21 21 36

self.view.backgroundColor=[UIColor colorWithRed:21/255.0 green:21/255.0 blue:36/255.0 alpha:1];

//创建支付宝控件

UIButton *zfbBtn=[UIButton buttonWithType:UIButtonTypeSystem];

//添加图片

[zfbBtn setImage:[UIImage imageNamed:@"alipay_msp_op_success"] forState:UIControlStateNormal];

//设置大小与位置

//自动适配大小

[zfbBtn sizeToFit];

//位置是视图的中心

zfbBtn.center=self.view.center;

//把控件添加到视图上

[self.view addSubview:zfbBtn];

//把支付宝控件全局化

_zfbBtn=zfbBtn;

//监听控件的方法

[zfbBtn addTarget:self action:@selector(startXiuXiu) forControlEvents:UIControlEventTouchUpInside];

}

第三部:在点击事件里做如下事:

1.for循环里创建UIView,并用吸色器吸取到button的背景颜色作为UIView的背景颜色

2.把UIView切圆角跟button一样大

3.把UIView添加到button下

4.使用UIView动画放大UIView,完成后移除它

-(void)startXiuXiu

{

for (NSInteger i=0; i<10; i++) {

//创建视图控件

UIView *circleView=[[UIView alloc]init];

//设置视图控件的背景颜色 0 170 238

circleView.backgroundColor=[UIColor colorWithRed:0 green:170/255.0 blue:238/255.0 alpha:1];

//设置位置和大小

circleView.frame=_zfbBtn.frame;

//把视图控件插入到支付宝控件下

[self.view insertSubview:circleView belowSubview:_zfbBtn];

//修剪边角

circleView.layer.cornerRadius=circleView.bounds.size.width*0.5;

//超出边界裁剪掉

circleView.layer.masksToBounds=YES;

[UIView animateWithDuration:2.0 delay:i*0.2 options:0 animations:^{

//放大

circleView.transform=CGAffineTransformMakeScale(17, 17);

//慢慢透明

circleView.alpha=0;

} completion:^(BOOL finished) {

//动画执行完成之后把看不到的view移除

[circleView removeFromSuperview];

}];

}

}

gitHub代码地址:https://github.com/KeithBigBather666/-.git

上一篇下一篇

猜你喜欢

热点阅读