我有一个UINavigationControl,我想提供一个视图控制器从顶部推出它并从视图中将其移除到顶部。
有没有办法更改调用
时使用的默认动画[self.navigationController pushViewController:myViewController animated:YES];
到另一个动画而不是从右向左推动,还是我必须自己制作动画?
在第二种情况下,我该怎么做?
感谢。
答案 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)