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

}

上一篇:word论文文献引用上标括号


下一篇:Python的安装与设置