iOS 动画3

来源:互联网 发布:证券软件免费下载 编辑:程序博客网 时间:2024/04/28 11:42
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
0 0
原创粉丝点击