zoukankan      html  css  js  c++  java
  • 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];

    }

  • 相关阅读:
    Learning to Compare: Relation Network for Few-Shot Learning 论文笔记
    修改python import模块中的变量
    roslaunch保存的log文件没有打印的ERROR信息
    python json demo
    vscode 1.32.x按下鼠标左键无法拖曳选择,而旧一点的版本1.30.2可以
    java-ee--------jdbc
    集合
    关键字
    java面向对象
    数组
  • 原文地址:https://www.cnblogs.com/ctaodream/p/3772780.html
Copyright © 2011-2022 走看看