ios點擊產生波紋效果
by 伍雪穎
- (void)viewDidLoad
{
[super viewDidLoad];
RippleView = [[UIView alloc] initWithFrame:(CGRect){0,0,300,300}];
RippleView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.3];
RippleView.layer.cornerRadius = 150;
RippleView.layer.masksToBounds=true;
RippleView.alpha=0;
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
[super touchesBegan:touches withEvent:event];
UITouch *touch = [touches anyObject];
CGPoint location = [touch locationInView:self.view];
[self.view addSubview:RippleView];
RippleView.center = location;
RippleView.transform = CGAffineTransformMakeScale(0.5, 0.5);
[UIView animateWithDuration:0.1
animations:^{
RippleView.alpha=1;
self.view.alpha=0.3;
}];
[UIView animateWithDuration:0.7
delay:0
options:UIViewAnimationOptionCurveEaseInOut
animations:^{
RippleView.transform = CGAffineTransformMakeScale(1,1);
RippleView.alpha=0;
self.view.alpha=1;
} completion:^(BOOL finished) {
[RippleView removeFromSuperview];
}];
}