UIView动画交换视图(向下滑动)

时间:2012-04-26 03:48:15

标签: iphone animation view transition

这是我到目前为止所拥有的。我想要做的是通过使用新视图向下滑动屏幕,使起始视图(startUpView)切换到另一个视图(creatNewGameViewController)。它现在所做的只是正常切换视图,但我真的想要滑动效果。如果有人能在我的代码中发现错误,那将非常感激。感谢

#import "CreateNewGameViewController.h"
@synthesize createNewGameViewController;
UIButton *mainCreateGame = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[mainCreateGame addTarget:self
                   action:@selector(goToCreateGameViewController)
         forControlEvents:UIControlEventTouchUpInside];
[mainScroll addSubview:mainCreateGame];
mainCreateGame.frame = CGRectMake(65, 10, 190, 60);

-(void)goToCreateGameViewController{
CreateNewGameViewController *newGame = [[CreateNewGameViewController alloc]initWithNibName:@"CreateNewGameViewController" bundle:nil];
self.createNewGameViewController = newGame;

CATransition *transition = [CATransition animation];
transition.duration = 2;
transition.timingFunction = [CAMediaTimingFunction      
                             functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type =kCATransitionMoveIn;


CATransition *transition1 = [CATransition animation];
transition1.duration = 2;
transition1.timingFunction = [CAMediaTimingFunction      
                             functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition1.type =kCATransitionMoveIn;
transition1.subtype =kCATransitionFromTop;

transition1.delegate   = self;

[createNewGameViewController.view.layer addAnimation:transition1 forKey:nil];
transition1.subtype =kCATransitionFromTop;

transition1.delegate = self;



[self presentModalViewController:newGame animated:NO];
[self.view insertSubview:newGame.view atIndex:0];

[createNewGameViewController.view.layer addAnimation:transition1 forKey:nil]; 

[newGame release];

1 个答案:

答案 0 :(得分:0)

UIView有一个类方法叫做从视图转换到视图动画,检查是否有帮助并告诉我它是怎么回事:)

UiView

一条建议,您应该使用导航控制器,故事板或类似的东西来进行这种视图转换,因为这是正确的方法。