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

}

 

posted @ 2014-06-06 15:43  Forty_two  阅读(238)  评论(0编辑  收藏  举报