iPhone - 动画视图控制器演示文稿

时间:2011-06-24 05:19:57

标签: iphone

我有一个UINavigationControl,我想提供一个视图控制器从顶部推出它并从视图中将其移除到顶部。

有没有办法更改调用

时使用的默认动画
[self.navigationController pushViewController:myViewController animated:YES];

到另一个动画而不是从右向左推动,还是我必须自己制作动画?

在第二种情况下,我该怎么做?

感谢。

2 个答案:

答案 0 :(得分:5)

导入Quartzcore框架 在.h文件中添加标题行

#import <QuartzCore/QuartzCore.h>

比你需要调用下一个viewController,只需添加这个动画行

CATransition *animation = [CATransition animation];
[animation setDelegate:self];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromRight];
[animation setDuration:0.2f];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[[self.view layer] addAnimation:animation forKey:@"pushIn"];

这里是调用视图控制器并添加超级视图,当你回到这个视图时,只需添加相同的动画只保持左右,而不是设置removeFromSuperView ..

classObj = [[ClassController alloc] initWithNibName:@"Xib Name" bundle:[NSBundle mainBundle]];
[self.view addSubview:classObj.view];

答案 1 :(得分:2)