zoukankan      html  css  js  c++  java
  • iOS常用动画

    #pragma mark Core Animation
    - (IBAction)buttonPressed1:(id)sender {
        NSLog(@"1");
        UIButton *button = (UIButton *)sender;
        NSInteger tag = button.tag;
        
        CATransition *animation = [CATransition animation];
        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.view exchangeSubviewAtIndex:green withSubviewAtIndex:blue];
        
        [[self.view layer] addAnimation:animation forKey:@"animation"];
        
    }
    #pragma mark UIView动画
    - (IBAction)buttonPressed2:(id)sender {
        NSLog(@"2");
    
        UIButton *button = (UIButton *)sender;
        NSInteger tag = button.tag;
        
        CGContextRef context = UIGraphicsGetCurrentContext();
        [UIView beginAnimations:nil context:context];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
        [UIView setAnimationDuration:kDuration];
        
        switch (tag) {
            case 105:
                [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES];
                break;
            case 106:
                [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
                break;
            case 107:
                [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
                break;
            case 108:
                [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];
                break;
            default:
                break;
        }
        
        NSUInteger green = [[self.view subviews] indexOfObject:self.greenView];
        NSUInteger blue = [[self.view subviews] indexOfObject:self.blueView];
        [self.view exchangeSubviewAtIndex:green withSubviewAtIndex:blue];
        
        [UIView setAnimationDelegate:self];
        // 动画完毕后调用某个方法
        //[UIView setAnimationDidStopSelector:@selector(animationFinished:)];
        [UIView commitAnimations];
    }
  • 相关阅读:
    Eclipse配置Maven的本地仓库和阿里云镜像 加速Maven更新
    layui弹出层基础参数
    鼠标悬停设置layui tips提示框
    Java实现文本中的关键字高亮,匹配所有长度
    获取指定格式的系统时间
    截取过长的字符,多余的字符将由省略号代替
    身份证处理方法(15转18,出生日期隐藏)
    layDate面板出现红色花纹图案
    layer单选框 radio的问题总结
    Android--多线程之Handler
  • 原文地址:https://www.cnblogs.com/sunjianfei/p/5905647.html
Copyright © 2011-2022 走看看