5

私は自分のストーリーボードに 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 つのビュー コントローラ間でクロス ディゾルブ フェードを実行するにはどうすればよいですか?

4

1 に答える 1

0

iOS 7 用にビルドしている場合は、UINavigationControllerDelegate と新しいビュー コントローラー遷移 API を使用できます。

ここにガイドがあります: http://www.captechconsulting.com/blog/tyler-tillage/ios-7-tutorial-series-custom-navigation-transitions-more

于 2013-11-07T21:36:03.533 に答える