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];

    }

  • 相关阅读:
    使用lua给wireshark编写uTP的Dissector
    Win32下 Qt与Lua交互使用(四):在Lua脚本中自由执行Qt类中的函数
    Win32下 Qt与Lua交互使用(三):在Lua脚本中connect Qt 对象
    Win32下 Qt与Lua交互使用(二):在Lua脚本中使用Qt类
    C# 自动部署之附加数据库
    机器码农:深度学习自动编程
    Oracle 记录插入时“Invalid parameter binding ”错误
    Visual Studio 在调试时启用编辑功能
    航摄比例尺与成图比例尺
    maven引用net.sf.json-lib
  • 原文地址:https://www.cnblogs.com/ctaodream/p/3772780.html
Copyright © 2011-2022 走看看