在我的viewDidLoad方法中,我想检查一下viewController是如何被动画的。
在某些情况下,它是动画的,在其他情况下它不是动画的,并且取决于它是否是动画的,我想显示一些控件。
这就是我推动我的viewController的方式。
childController = [[CategoryOneDetailController alloc] initWithNibName:xibDownName bundle:nil];
[self.navigationController pushViewController:childController animated:NO];
任何人都可以帮助我吗?
谢谢,萨米。
修改
- (void)viewWillAppear:(BOOL)animated
方法运行良好我用一些日志消息测试了它,但是一旦加载了视图,如果在我的视图中我有一个按钮,当点击时调用此方法
- (void) nextPressed:(id)sender {
childController = [[CategoryOneDetailController alloc] initWithNibName:xibDownName bundle:nil];
[UIView beginAnimations: @"Showinfo"context: nil];
[UIView setAnimationCurve: UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.75];
[self.navigationController pushViewController: childController animated:NO];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.navigationController.view cache:NO];
[UIView commitAnimations];
[childController release];
}
现在当按下第二个视图时,日志报告它没有动画,但它确实是这里我需要检查推动是否动画。
答案 0 :(得分:2)
实施viewDidAppear:(BOOL)animated
或viewWillAppear:(BOOL)animated
在ViewController中:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
if(animated) {
//do what ever is needed when animted
} else {
//what will you do, if not animated?
}
}
答案 1 :(得分:0)
唯一一次推送viewController而不进行动画处理的是应用程序是否已启动。 默认情况下,除非您为动画参数明确指定NO,否则任何其他推送都将被设置为动画。