3

私がやろうとしていること


アプリの作成を開始した場合。私は を持ってNavigationControllerrootViewControllerます。アプリを起動すると、my が開きますLoginViewControllerLogin-Procedureすべてが順調であれば、そこで私は を行います。始めますECSlidingViewControllerMenu ( UITableView) とMainView ( ) がありますUITableView

ここまでは、すべて正常に機能しています。スワイプすると私のメニューが表示されます。今、問題が始まっています。メニュー項目を押すと、新しい ViewController が完全に開始され、コンテンツが表示されます。しかし、それはまだ同じですNavigationBar- のようにECSlidingViewController。そのため、ユーザーが何を見ているかをユーザーに伝える機会がありませんでしたNavigationBar

質問


この問題を解決するにはどうすればよいですか? NavigationBar私が実際に使用している特定の ViewController の を常に表示したいと思います。あなたがいくつかのコードスニペットを持っているか、この問題を処理するための良いアイデアを持っているなら. 以下にコメントを残してください。

コードスニペットなどが必要な場合は、アップロードしますと言ってください。前もって感謝します!

コード


これは、ECSlidingMenu を開始する方法です。

[self performSegueWithIdentifier:@"loginPush" sender:self.view];

これは、新しい ViewController を開始する方法です。

UIViewController *newTopViewController = [self.storyboard instantiateViewControllerWithIdentifier:identifier];

ピクチャー*


ストーリーボードの構造:

4

1 に答える 1

5

ECSlidingViewViewControllerがルート ビュー コントローラーになるように構造を変更します。これは、アプリの最初から行うことも、ログイン後にルートを切り替えることもできます。次に、スライディング コントローラーのトップ ビュー コントローラーをナビゲーション コントローラーにする必要があります。ルートを設定し、他のビュー コントローラーをそのナビゲーション コントローラーにプッシュする必要があります。

現在持っているものは、ビュー コントローラーとナビゲーション コントローラーの間のリンクを壊します。これは、スライディング ビュー コントローラーのみがスタックとそのタイトルにプッシュされるためです (navigationItemこれまでの変更については何もありません)。

おそらく最も簡単な解決策は、ストーリーボードの初期ビュー コントローラーを (スライディング ビュー コントローラーに) 変更することです。この場合、ログイン ビューはナビゲーション コントローラーのルート ビュー (トップ ビュー) として表示されます。次に、ログイン後に次のビュー コントローラーをプッシュし、(アニメーションの完了後) ログイン ビュー コントローラーをナビゲーション スタックから削除します。

于 2013-08-28T12:40:45.663 に答える