0

我在这里需要帮助,我正在使用自定义 segue 将视图控制器推送到另一个视图控制器。

当使用自定义 segue 推送时,uiactivityindicator 不会在视图加载时自动动画。

但是,如果我在情节提要上使用 push 方法,则 uiactivityindicator 会自动设置动画。

我做错了什么?

-(void)perform {
    UIViewController *sourceVC = (UIViewController *) self.sourceViewController;
    UIViewController *destinationVC = (UIViewController *) self.destinationViewController;

    [UIView transitionWithView:sourceVC.navigationController.view duration:0.5
                       options:UIViewAnimationOptionTransitionCrossDissolve
                    animations:^{
                        [sourceVC.navigationController pushViewController:destinationVC animated:NO];
                        //NSLog(@"count of subview %i", [self.view.subviews count]);
                    }
                    completion:NULL];

}
4

1 回答 1

1

尝试这个:

UIViewController *sourceVC = (UIViewController *) self.sourceViewController;
UIViewController *destinationVC = (UIViewController *) self.destinationViewController;

[UIView transitionFromView:sourceVC.view toView:destinationVC.view duration:.5 options:0 completion:^(BOOL finished) {
  [sourceVC.navigationController pushViewController:destinationVC animated:NO];
}];

-pushViewController:animated:不应该放在动画块中,而是放在完成块中。

于 2012-03-02T03:13:38.180 回答