0

ここで助けが必要です。カスタムセグエを使用して、ViewControllerを別のViewControllerにプッシュしています。

cutom segueを使用してプッシュすると、ビューがロードされたときにuiactivityインジケーターが自動的にアニメーション化されません。

ただし、ストーリーボードでプッシュ方式を使用した場合、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 に答える