首页 > 代码库 > iOS常用动画

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

 

iOS常用动画