2

我有一个按钮,按下时会推动视图控制器,但是我使用的是自定义动画,因此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];
}

任何帮助将不胜感激,谢谢,萨米。

4

1 回答 1

1

如果您不使用标准动画,我认为您最好的选择是向您的推送视图控制器添加一个属性,该属性设置为YES以防自定义动画(NO默认情况下不会破坏任何现有行为)。然后你可以在viewDidAppear:.

如果您需要在动画运行执行自定义逻辑,您可能需要设置动画完成处理程序或块。

于 2011-06-23T08:37:23.127 回答