0

私はここで助けが必要です。私はカスタムセグを使ってビューコントローラを別のビューコントローラにプッシュしています。カスタムセグを使用するとUIActivityIndi​​catorViewフリーズ

cutom segueを使用してプッシュすると、ビュー読み込み時に自動的にアニメーションが実行されません。

しかし、私がストーリーボードでプッシュメソッドを使用した場合は、自動反応指示子が自動的にアニメーション化されます。

どうしたのですか?

-(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

これを試してみてください:

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:は、アニメーションブロックが、完了ブロックでパットするべきではありません。

+0

こんにちは、返信ありがとう...それは動作しますが、私はアニメーションを失った。任意の回避策? – Desmond

+0

オプションパラメータに 'UIViewAnimationOptionTransitionCrossDissolve'などの遷移オプションを設定すると動作します。 – cxa

+0

こんにちは、試してみました。動作していない:( – Desmond