私は自分のストーリーボードに UINavigationController をセットアップしており、以下に示すカスタム セグエ クラスを作成しました。
ただし、ナビコントローラーから返された戻るボタンをタップすると、望ましくないプッシュアニメーションが表示されます。そのフェードを使用したいです! また、ストーリーボードが乱雑になるだけなので、両方向にセグエを配置する必要もありません。
カスタム フェード セグエ:
-(void)perform
{
__block UIViewController *sourceViewController = (UIViewController*)[self sourceViewController];
__block UIViewController *destinationController = (UIViewController*)[self destinationViewController];
[UIView transitionWithView:sourceViewController.navigationController.view duration:1.0 options:UIViewAnimationOptionTransitionCrossDissolve
animations:^
{
[sourceViewController.navigationController pushViewController:destinationController animated:NO];
}
completion:^(BOOL finished)
{
NSLog(@"Transition Completed");
}];
}
編集
おそらく私は単純化する必要があります。標準の左右のサイディング アニメーションの代わりに、ビューをプッシュおよびポップする UINavigationController の 2 つのビュー コントローラ間でクロス ディゾルブ フェードを実行するにはどうすればよいですか?