iOS 动画一

//
//  ViewController.m
//  AnimationY
//
//  Created by ldci on 13-4-14.
//  Copyright (c) 2013年 ldci. All rights reserved.
//

#import "ViewController.h"
#import "QuartzCore/QuartzCore.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)dealloc {
    [_pView release];
    [_imgView1 release];
    [_imgView2 release];
    [_pView release];
    [super dealloc];
}
- (IBAction)butUP:(id)sender {
    
    [UIView  beginAnimations:nil context:nil];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationDuration:1.0];
    
    //找到image View的父View
    UIView *beginView = self.pView;
    //将卷曲动画应用到父View
    //UIViewAnimationTransitionCurlUp
    [UIView  setAnimationTransition:  UIViewAnimationTransitionCurlDown forView:beginView cache:YES];
    
    [beginView exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
    
    [UIView commitAnimations];
    
}

- (IBAction)btnLeft:(id)sender {
    
    [self actAnimation:0];
}

- (IBAction)btnDown:(id)sender {
    [self actAnimation:1];
}

- (IBAction)btnRight:(UIButton *)sender {
    [self actAnimation:2];
}

- (IBAction)btnCenter:(id)sender {
    [self actAnimation:3];
}
-(void)actAnimation:(int) type{
    CATransition *animation = [CATransition animation];
    animation.duration = 1.0f;
    animation.timingFunction= UIViewAnimationCurveEaseInOut ;
    switch(type){
        case  0://淡入淡出
            animation.type = kCATransitionFade;
             break;
        case 1://滑入
            animation.type = kCATransition;
             break;
        case 2://推进
            animation.type = kCATransitionPush;
            break;
        case 3://
            animation.type = kCATransitionReveal;
             break;
    }
    //预定义一个基础变化
    animation.subtype = kCATransitionFromRight;
    UIView *beginView = self.pView;
    //将卷曲动画应用到父View
    //UIViewAnimationTransitionCurlUp
    [UIView  setAnimationTransition:  UIViewAnimationTransitionCurlDown forView:beginView cache:YES];
    
    [beginView exchangeSubviewAtIndex:0 withSubviewAtIndex:1];

//    应用动画
    [[beginView layer ]addAnimation:animation forKey:nil];
    
    

}
@end

 

你可能感兴趣的:(ios)