iOS 动画3

619 + (void)animationRotateAndScaleDownUp:(UIView *)view
620 {
621     CABasicAnimation *rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
622  rotationAnimation.toValue = [NSNumber numberWithFloat:(2 * M_PI) * 2];
623  rotationAnimation.duration = 0.35f;
624  rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
625       
626  CABasicAnimation *scaleAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
627  scaleAnimation.toValue = [NSNumber numberWithFloat:0.0];
628  scaleAnimation.duration = 0.35f;
629  scaleAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
630    
631  CAAnimationGroup *animationGroup = [CAAnimationGroup animation];
632  animationGroup.duration = 0.35f;
633  animationGroup.autoreverses = YES;
634  animationGroup.repeatCount = 1;
635  animationGroup.animations =[NSArray arrayWithObjects:rotationAnimation, scaleAnimation, nil];
636  [view.layer addAnimation:animationGroup forKey:@"animationGroup"];
637 }
638   
639   
640   
641 #pragma mark - Private API
642   
643 + (void)animationFlipFromTop:(UIView *)view
644 {
645     CATransition *animation = [CATransition animation];
646     [animation setDuration:0.35f];
647     [animation setFillMode:kCAFillModeForwards];
648     [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
649     [animation setType:@"oglFlip"];
650     [animation setSubtype:@"fromTop"];
651       
652     [view.layer addAnimation:animation forKey:nil];
653 }
654   
655 + (void)animationFlipFromBottom:(UIView *)view
656 {
657     CATransition *animation = [CATransition animation];
658     [animation setDuration:0.35f];
659     [animation setFillMode:kCAFillModeForwards];
660     [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
661     [animation setType:@"oglFlip"];
662     [animation setSubtype:@"fromBottom"];
663       
664     [view.layer addAnimation:animation forKey:nil];
665 }
666   
667 + (void)animationCubeFromLeft:(UIView *)view
668 {
669     CATransition *animation = [CATransition animation];
670     [animation setDuration:0.35f];
671     [animation setFillMode:kCAFillModeForwards];
672     [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
673     [animation setType:@"cube"];
674     [animation setSubtype:@"fromLeft"];
675       
676     [view.layer addAnimation:animation forKey:nil];
677 }
678   
679 + (void)animationCubeFromRight:(UIView *)view
680 {
681     CATransition *animation = [CATransition animation];
682     [animation setDuration:0.35f];
683     [animation setFillMode:kCAFillModeForwards];
684     [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
685     [animation setType:@"cube"];
686     [animation setSubtype:@"fromRight"];
687       
688     [view.layer addAnimation:animation forKey:nil];
689 }
690   
691 + (void)animationCubeFromTop:(UIView *)view
692 {
693     CATransition *animation = [CATransition animation];
694     [animation setDuration:0.35f];
695     [animation setFillMode:kCAFillModeForwards];
696     [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
697     [animation setType:@"cube"];
698     [animation setSubtype:@"fromTop"];
699       
700     [view.layer addAnimation:animation forKey:nil];
701 }
702   
703 + (void)animationCubeFromBottom:(UIView *)view
704 {
705     CATransition *animation = [CATransition animation];
706     [animation setDuration:0.35f];
707     [animation setFillMode:kCAFillModeForwards];
708     [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
709     [animation setType:@"cube"];
710     [animation setSubtype:@"fromBottom"];
711       
712     [view.layer addAnimation:animation forKey:nil];
713 }
714   
715 + (void)animationSuckEffect:(UIView *)view
716 {
717     CATransition *animation = [CATransition animation];
718     [animation setDuration:0.35f];
719     [animation setFillMode:kCAFillModeForwards];
720     [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
721     [animation setType:@"suckEffect"];
722       
723     [view.layer addAnimation:animation forKey:nil];
724 }
725   
726 + (void)animationRippleEffect:(UIView *)view
727 {
728     CATransition *animation = [CATransition animation];
729     [animation setDuration:0.35f];
730     [animation setFillMode:kCAFillModeForwards];
731     [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
732     [animation setType:@"rippleEffect"];
733       
734     [view.layer addAnimation:animation forKey:nil];
735 }
736   
737 + (void)animationCameraOpen:(UIView *)view
738 {
739     CATransition *animation = [CATransition animation];
740     [animation setDuration:0.35f];
741     [animation setFillMode:kCAFillModeForwards];
742     [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
743     [animation setType:@"cameraIrisHollowOpen"];
744     [animation setSubtype:@"fromRight"];
745       
746     [view.layer addAnimation:animation forKey:nil];
747 }
748   
749 + (void)animationCameraClose:(UIView *)view
750 {
751     CATransition *animation = [CATransition animation];
752     [animation setDuration:0.35f];
753     [animation setFillMode:kCAFillModeForwards];
754     [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
755     [animation setType:@"cameraIrisHollowClose"];
756     [animation setSubtype:@"fromRight"];
757       
758     [view.layer addAnimation:animation forKey:nil];
759 }
760 @end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值