2011-02-02 67 views
1

现在,当我从导航控制器堆栈弹出自定义视图控制器(带有动画:YES)时,它通常会向右滑动。我想让动画看起来与您推动控制器时相同(从右侧滑入),但仍具有流行而非推动的效果。我应该如何开始我的追求?这应该在viewWillAppear中完成吗?从导航堆栈弹出视图控制器时从右侧滑入

回答

1

我曾经做过一个视图的自定义动画,与此类似。至于入门,我会考虑the core animation framework。在Apple文档中,比您想要的更匹配的可能是UIView animations

基本上,您将viewDidLoad中的帧设置为离屏。然后在viewDidAppear,你设置的框架是结束帧,但在这个代码把它包:

[UIView beginAnimations:@"animationsNameThisCanBeAnythingOrNil" context:nil] 
//Reset the frame here 
[UIView commitAnimations]; 

我希望这有助于!

0

万一它可以帮助别人,这是我用来实现什么要求代码:

CATransition *animation = [CATransition animation]; 
[animation setDuration:0.5]; 
[animation setType:kCATransitionPush]; 
[animation setSubtype:kCATransitionFromRight]; 
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 
[[self.navigationController.view layer] addAnimation:animation forKey:nil]; 
[self.navigationController popViewControllerAnimated:NO]; 

您可能希望确保您大跌眼镜从底层的UIView有一个清晰的背景,否则当你弹出你会看到旧的UIView褪色为白色,因为它滑落。

相关问题