iOS 动画 波纹 水波 声波 海水
YSCAnimation
Github地址 :https://github.com/xiaochaofeiyu/YSCAnimation
对你有帮助的话帮我点颗星星哦!
ripple animation
1). singlelineripple --> corresponding class YSCRippleView
[_rippleView showWithRippleType:YSCRippleTypeLine]

2). ringRipple --> corresponding class YSCRippleView
[_rippleView showWithRippleType:YSCRippleTypeRing]

3). cicleRipple --> corresponding class YSCRippleView
[_rippleView showWithRippleType:YSCRippleTypeCircle]

4). mixedripple --> corresponding class YSCRippleView
[_rippleView showWithRippleType:YSCRippleTypeMixed]

wave animation
1). pusle --> corresponding class YSCWaveView
[_waveView showWaveViewWithType:YSCWaveTypePulse]

2). wave --> corresponding class YSCWaveView
[_waveView showWaveViewWithType:YSCWaveTypeVoice]

3). movedWave --> corresponding class YSCWaveView
[_waveView showWaveViewWithType:YSCWaveTypeMovedVoice]

mask animation
1). circleLoad --> corresponding class YSCCircleLoadAnimationView
YSCCircleLoadAnimationView *shapeView = [[YSCCircleLoadAnimationView alloc] initWithFrame:self.view.bounds];UIImage*image = [UIImageimageNamed:@"tree.jpg"];shapeView.loadingImage.image= image;[self.viewaddSubview:shapeView];[shapeView startLoading];

2). microphone wave --> corresponding class YSCMicrophoneWaveView
YSCMicrophoneWaveView*microphoneWaveView = [[YSCMicrophoneWaveViewalloc]init];[microphoneWaveView showMicrophoneWaveInParentView:self.view withFrame:self.view.bounds];

3). fanshaped wave --> corresponding class YSCFanShapedView
- (YSCFanShapedView*)fanshapedView{if(!_fanshapedView) {self.fanshapedView= [[YSCFanShapedViewalloc] init]; _fanshapedView.frame=CGRectMake(0,0,300,150); _fanshapedView.center=CGPointMake(self.view.bounds.size.width/2.0,self.view.bounds.size.height/2.0-100); }return_fanshapedView;}//show[self.fanshapedViewshowInParentView:self.viewWithType:YSCFanShapedShowTypeExpand];

voice wave
1). voice wave --> corresponding class YSCVoiceWaveView YSCVoiceLoadingCircleView
//showself.voiceWaveView = [[YSCVoiceWaveViewalloc]init];[self.voiceWaveView showInParentView:self.voiceWaveParentView];[self.voiceWaveView startVoiceWave];//hide[self.voiceWaveView stopVoiceWaveWithShowLoadingViewCallback:^{ [self.updateVolumeTimer invalidate]; _updateVolumeTimer =nil; [self.loadingView startLoadingInParentView:self.view]; }];

water wave
1). water wave --> corresponding class YSCWaterWaveView
- (YSCWaterWaveView *)waterWave{if(!_waterWave) { self.waterWave = [[YSCWaterWaveView alloc] init]; _waterWave.frame = CGRectMake(0,0, self.view.bounds.size.width,300); _waterWave.percent =0.6; _waterWave.firstWaveColor = [UIColor colorWithRed:146/255.0green:148/255.0blue:216/255.0alpha:1.0]; _waterWave.secondWaveColor = [UIColor colorWithRed:84/255.0green:87/255.0blue:197/255.0alpha:1.0]; }return_waterWave;}//show[self.view addSubview:self.waterWave];[self.waterWave startWave];

seawater wave
1). seawater wave --> corresponding class YSCSeaGLView
tip: it should not run in simulator
self.seaGLView= [[YSCSeaGLView alloc] initWithFrame:CGRectMake(0,0,self.view.bounds.size.width,self.view.bounds.size.height)];[self.viewaddSubview:_seaGLView];//hide- (void)viewDidDisappear:(BOOL)animated{ [_seaGLView removeFromParent]; _seaGLView =nil;}

emitter animation
1). fire --> corresponding class YSCFireViewController
- (void)viewDidLoad{ [superviewDidLoad];// Do any additional setup after loading the view, typically from a nib.self.view.backgroundColor=[UIColorwhiteColor];//设置发射器_fireEmitter=[[CAEmitterLayeralloc] init]; _fireEmitter.emitterPosition=CGPointMake(self.view.frame.size.width/2,self.view.frame.size.height-20); _fireEmitter.emitterSize=CGSizeMake(self.view.frame.size.width-100,20); _fireEmitter.renderMode= kCAEmitterLayerAdditive;//发射单元//火焰CAEmitterCell*fire = [CAEmitterCellemitterCell]; fire.birthRate=800; fire.lifetime=2.0; fire.lifetimeRange=1.5; fire.color=[[UIColorcolorWithRed:0.8green:0.4blue:0.2alpha:0.1]CGColor]; fire.contents=(id)[[UIImageimageNamed:@"fire"]CGImage]; [fire setName:@"fire"]; fire.velocity=160; fire.velocityRange=80; fire.emissionLongitude=M_PI+M_PI_2; fire.emissionRange=M_PI_2; fire.scaleSpeed=0.3; fire.spin=0.2; fire.alphaSpeed= -0.05;//烟雾CAEmitterCell*smoke = [CAEmitterCellemitterCell]; smoke.birthRate=400; smoke.lifetime=3.0; smoke.lifetimeRange=1.5; smoke.color=[[UIColorcolorWithRed:1green:1blue:1alpha:0.05]CGColor]; smoke.contents=(id)[[UIImageimageNamed:@"fire"]CGImage]; [smoke setName:@"smoke"]; smoke.velocity=250; smoke.velocityRange=100; smoke.emissionLongitude=M_PI+M_PI_2; smoke.emissionRange=M_PI_2; smoke.alphaSpeed= -0.05; _fireEmitter.emitterCells=[NSArrayarrayWithObjects:smoke, fire,nil]; [self.view.layeraddSublayer:_fireEmitter];}

2). butterfly --> corresponding class YSCButterflyViewController
- (void)viewDidLoad{ [superviewDidLoad];// Do any additional setup after loading the view, typically from a nib.self.view.backgroundColor=[UIColorwhiteColor];//emitter_butterflyEmitter=[[CAEmitterLayeralloc] init]; _butterflyEmitter.emitterPosition=CGPointMake(self.view.frame.size.width/2,self.view.frame.size.height-20); _butterflyEmitter.emitterSize=CGSizeMake(self.view.frame.size.width-100,20); _butterflyEmitter.renderMode= kCAEmitterLayerUnordered; _butterflyEmitter.emitterShape= kCAEmitterLayerCuboid; _butterflyEmitter.emitterDepth=10; _butterflyEmitter.preservesDepth=YES;//cells//blue butterflyCAEmitterCell*blueButterfly = [CAEmitterCellemitterCell]; blueButterfly.birthRate=8; blueButterfly.lifetime=5.0; blueButterfly.lifetimeRange=1.5; blueButterfly.color=[[UIColorcolorWithRed:1.0green:1.0blue:1.0alpha:0.1]CGColor]; blueButterfly.contents=(id)[[UIImageimageNamed:@"butterfly1"]CGImage]; [blueButterfly setName:@"blueButterfly"]; blueButterfly.velocity=160; blueButterfly.velocityRange=80; blueButterfly.emissionLongitude=M_PI+M_PI_2; blueButterfly.emissionLatitude= M_PI+M_PI_2; blueButterfly.emissionRange=M_PI_2; blueButterfly.scaleSpeed=0.3; blueButterfly.spin=0.2; blueButterfly.alphaSpeed=0.2;//yellow butterflyCAEmitterCell*yellowButterfly = [CAEmitterCellemitterCell]; yellowButterfly.birthRate=4; yellowButterfly.lifetime=5.0; yellowButterfly.lifetimeRange=1.5; yellowButterfly.color=[[UIColorcolorWithRed:1green:1blue:1alpha:0.05]CGColor]; yellowButterfly.contents=(id)[[UIImageimageNamed:@"butterfly2"]CGImage]; [yellowButterfly setName:@"yellowButterfly"]; yellowButterfly.velocity=250; yellowButterfly.velocityRange=100; yellowButterfly.emissionLongitude=M_PI+M_PI_2; yellowButterfly.emissionLatitude= M_PI+M_PI_2; yellowButterfly.emissionRange=M_PI_2; yellowButterfly.alphaSpeed=0.2; yellowButterfly.scaleSpeed=0.3; yellowButterfly.spin=0.2; _butterflyEmitter.emitterCells=[NSArrayarrayWithObjects:yellowButterfly, blueButterfly,nil]; [self.view.layeraddSublayer:_butterflyEmitter];}

repicator animation
1). matrixCircle --> corresponding class YSCMatrixCircleAnimationView
self.matrixCircleView = [[YSCMatrixCircleAnimationView alloc] initWithFrame:CGRectMake(0,0,300,300) xNum:8yNum:8]; _matrixCircleView.center = CGPointMake(self.view.bounds.size.width /2.0, self.view.bounds.size.height /2.0);[self.view addSubview:_matrixCircleView];

2). circle ripple --> corresponding class YSCCircleRippleView
self.rippleView= [[YSCCircleRippleView alloc] initWithFrame:CGRectMake(0,0,300,300)];_rippleView.center=CGPointMake(self.view.bounds.size.width/2.0,self.view.bounds.size.height/2.0);[self.viewaddSubview:_rippleView];_rippleView.backgroundColor= [[UIColorgreenColor] colorWithAlphaComponent:0.4];[_rippleView startAnimation];

Demo下载地址 :https://github.com/xiaochaofeiyu/YSCAnimation
文/小超飞鱼(简书作者)
原文链接:http://www.jianshu.com/p/464c740b9034
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。