使用自定义segue时,UIActivityIndi​​catorView会冻结

时间:2012-03-02 03:05:12

标签: iphone ios xcode uiactivityindicatorview uistoryboardsegue

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

当使用cutom 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];

}

1 个答案:

答案 0 :(得分: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:放在动画块中,而应放在完成块中。