• iOS 动画类型 笔记


    #pragma mark Core Animation

    - (IBAction)buttonPressed1:(id)sender {

        UIButton *button = (UIButton *)sender;

        NSInteger tag = button.tag;

        

        CATransition *animation = [CATransitionanimation];

        animation.delegate = self;

        animation.duration = kDuration;

        animation.timingFunction = UIViewAnimationCurveEaseInOut;

        

        switch (tag) {

            case 101:

                animation.type = kCATransitionFade;

                break;

            case 102:

                animation.type = kCATransitionPush;

                break;

            case 103:

                animation.type = kCATransitionReveal;

                break;

            case 104:

                animation.type = kCATransitionMoveIn;

                break;

            case 201:

                animation.type = @"cube";

                break;

            case 202:

                animation.type = @"suckEffect";

                break;

            case 203:

                animation.type = @"oglFlip";

                break;

            case 204:

                animation.type = @"rippleEffect";

                break;

            case 205:

                animation.type = @"pageCurl";

                break;

            case 206:

                animation.type = @"pageUnCurl";

                break;

            case 207:

                animation.type = @"cameraIrisHollowOpen";

                break;

            case 208:

                animation.type = @"cameraIrisHollowClose";

                break;

            default:

                break;

        }

        

        switch (self.typeID) {

            case 0:

                animation.subtype = kCATransitionFromLeft;

                break;

            case 1:

                animation.subtype = kCATransitionFromBottom;

                break;

            case 2:

                animation.subtype = kCATransitionFromRight;

                break;

            case 3:

                animation.subtype = kCATransitionFromTop;

                break;

            default:

                break;

        }

        self.typeID += 1;

        if (self.typeID > 3) {

            self.typeID = 0;

        }

        

        NSUInteger green = [[self.view subviews] indexOfObject:self.greenView];

        NSUInteger blue = [[self.view subviews] indexOfObject:self.blueView];

        [self.viewexchangeSubviewAtIndex:green withSubviewAtIndex:blue];

        

        [[self.view layer] addAnimation:animation forKey:@"animation"];

    }

    #pragma mark UIView动画

    - (IBAction)buttonPressed2:(id)sender {

        UIButton *button = (UIButton *)sender;

        NSInteger tag = button.tag;

        

        CGContextRef context = UIGraphicsGetCurrentContext();

        [UIViewbeginAnimations:nilcontext:context];

        [UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];

        [UIViewsetAnimationDuration:kDuration];

        switch (tag) {

            case 105:

                [UIViewsetAnimationTransition:UIViewAnimationTransitionCurlDownforView:self.viewcache:YES];

                break;

            case 106:

                [UIViewsetAnimationTransition:UIViewAnimationTransitionCurlUpforView:self.viewcache:YES];

                break;

            case 107:

                [UIViewsetAnimationTransition:UIViewAnimationTransitionFlipFromLeftforView:self.viewcache:YES];

                break;

            case 108:

                [UIViewsetAnimationTransition:UIViewAnimationTransitionFlipFromRightforView:self.viewcache:YES];

                break;

            default:

                break;

        }

        

        NSUInteger green = [[self.view subviews] indexOfObject:self.greenView];

        NSUInteger blue = [[self.view subviews] indexOfObject:self.blueView];

        [self.viewexchangeSubviewAtIndex:green withSubviewAtIndex:blue];

        

        [UIViewsetAnimationDelegate:self];

        // 动画完毕后调用某个方法

        //[UIView setAnimationDidStopSelector:@selector(animationFinished:)];

        [UIViewcommitAnimations];

    }

  • 相关阅读:
    Rsync
    SpringCloud-Eureka
    mysql-主从复制
    java中延迟任务的处理方式
    mysql-分组
    rpm相关
    shell中#*,##*,#*,##*,% *,%% *的含义及用法
    cygwin的用途
    cocos2d-lua-win
    ant打包遇到的问题
  • 原文地址:https://www.cnblogs.com/ctaodream/p/3772780.html
Copyright © 2020-2023  润新知