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

    }

  • 相关阅读:
    应用开发框架之——业务规则脚本化
    tms脚本演示代码之一
    根据.DFM文件动态生成窗体以及在之前先必须注册窗体中使用到的类
    界面/业务规则脚本化
    delphi 脚本引擎比较
    html5 datalist 选中option选项后的触发事件
    Laravel 5.6 模型关联 user 表后查询 user 表数据只能获取第一条数据,不知道怎么获取第二条...
    小技巧两个感叹号(两个!)连用
    Bootstrap 字体图标(Glyphicons)
    使用withCount后再使用select设置查询的字段。就找不到withCount的数据了
  • 原文地址:https://www.cnblogs.com/ctaodream/p/3772780.html
Copyright © 2011-2022 走看看