我有一个按钮,按下时按下视图控制器,但是我使用的是自定义动画,因此pushViewController: childController animated:
设置为NO。我想做的是在我的- (void)viewWillAppear:(BOOL)animated
方法中检测这个自定义动画并写一个这样的if语句;
- (void)viewWillAppear:(BOOL)animated {
if (customAnimation occured) {//Do this}
else {//Do this}
}
这是我的按钮推送视图控制器的方法。
- (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 :(得分:1)
如果您不使用标准动画,我认为最好的办法是在推送的视图控制器中添加一个属性,在自定义动画的情况下设置为YES
(NO
by默认不破坏任何现有行为)。然后,您可以在viewDidAppear:
。
如果您需要在运行动画后执行自定义逻辑,则可能需要设置动画完成处理程序或块。