3

私は現在、問題なく動作するUINavigationControllerベースのアプリケーションを持っています。UINavigationControllerスタックの数レベル深いビューコントローラーの1つを使用して、ユーティリティアプリなどで示される「フリップサイド」タイプのビューを作成したいと思います。非常に一般的なことです。

ここでの問題は、前後に反転する両方のビューコントローラーを管理するための中間ビューコントローラーを作成したことです。これで、中間ビューコントローラーがnavigationBarをインターセプトし、階層内の独自のコントローラーでオーバーライドします。既存のViewControllerのnavigationBarがマスクされ、ビュー全体が下にシフトされます。

私は次のようなことを試みました:

myFlipViewController.view = myOriginalViewController.view;

それはそれ自身のnavigationItemsを持っているので、それはmyOriginalViewControllerから私のビュー全体を壊します。基本的には、myFlipViewControllerを、myOriginalViewControllerとothersideViewControllerの反転を制御する透過プロキシとして機能させたいだけです。myOriginalViewControllerのnavigationItemsは引き続き表示されます。

ビューコントローラ間でsetNavigationBarHiddenの品揃えを試しましたが、何もうまくいかないようです。

UINavigationControllerスタックの途中にflipViewControllerを邪魔にならずに導入するための最良の方法は何ですか?

4

2 に答える 2

9
@implementation YourViewControllerInTheMiddleOfTheStack

- (void)presentFlipSideViewController:(UIViewController *)flipsideViewController
{
    flipsideViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self.navigationController presentModalViewController:flipsideViewController animated:YES];
}

@end
于 2009-07-06T19:50:35.813 に答える
-2
- (void)presentFlipSideViewController:(UIViewController *)flipsideViewController
{
    flipsideViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self.navigationController presentModalViewController:flipsideViewController animated:YES];
于 2013-08-20T10:22:42.953 に答える