• 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];
    }
  • 相关阅读:
    MyEclipse 6.0.1 注册码过期后的解决办法
    .NET代码管理工具 Narrange
    oracle 测试代码
    log4net for web快速入门
    Sql 2005 千万级数据库IO规划
    VSS Internet Access Configuration [转贴]
    开车二十年后得到的真实的26条教训!开车的人一定看看!¬
    在 IIS 6.0 中以编程方式管理服务器证书
    ASP.NET页面刷新的实现方法(Zt)
    服务器处理器一览
  • 原文地址:https://www.cnblogs.com/sunjianfei/p/5905647.html
Copyright © 2020-2023  润新知