• ios中layer动画和UIView动画代码总结



    kCATransitionFade淡出
     kCATransitionMoveIn覆盖原图
     kCATransitionPush推出
     kCATransitionReveal底部显出来
     
     pageCurl   向上翻一页
     pageUnCurl 向下翻一页
     rippleEffect 滴水效果
     suckEffect 收缩效果。如一块布被抽走
     cube 立方体效果
     oglFlip 上下翻转效果


    #pragma mark UIView 动画

    - (IBAction)pressClick1:(id)sender {

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

    #pragma mark layer动画
    - (IBAction)pressClick2:(id)sender {
        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";
            case 207:
                animation.type = @"cameraIrisHollowOpen";
            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"];
    }






  • 相关阅读:
    请简单说一下你了解的端口及对应的服务?
    地址解析协议ARP和逆地址解析协议RARP
    IP地址分类
    OSI分层和五层协议
    对象如何晋升到老年代?
    JVM 垃圾回收机制,何时触发 MinorGC 等操作
    什么是引用?
    类加载机制
    Solaris10怎么创建flash archive
    RPC: program not registered (ZT)
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/7363509.html
Copyright © 2020-2023  润新知