实现多个UIView之间切换的动画效果

@interface RootViewController (){
    UIView *view1;
    UIView *view2;
    int    flag;
}

@end

@implementation RootViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    flag = 1;
    
    UIButton *button = [[UIButton alloc]initWithFrame:CGRectMake(130, 65, 50, 35)];
    [button setTitle:@"点击" forState:UIControlStateNormal];
    [button setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
    [button addTarget:self action:@selector(click) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];
    
    view1 = [[UIView alloc]initWithFrame:CGRectMake(0, 100, 320, 480)];
    view1.backgroundColor = [UIColor grayColor];
    
    view2 = [[UIView alloc]initWithFrame:CGRectMake(0, 100, 320, 480)];
    view2.backgroundColor = [UIColor orangeColor];
}

- (void)click{
    
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.6f];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:NO];
    
    if (flag == 1) {
        
        [self.view addSubview:view1];
        flag = 2;
        
    }else if(flag == 2){
        
        [self.view addSubview:view2];
        flag = 1;
    }
    [UIView commitAnimations];
}

 

posted @ 2014-07-02 09:26  2014_4_30  阅读(321)  评论(0编辑  收藏  举报