2012-05-11 8 views
0

私はUI用にストーリーボードを使用していますが、私は次のものを持っています:UINavigationBarがプッシュ後に表示されています

セグの初期ビューであるログインウィンドウ。ログインが成功すると、ユーザーはログインページに戻るボタンを持つことのできない別のビューに移動します。これはUITabBarControllerで、独自のナビゲーションバーがあります。これで両方のナビゲーションバーが表示され、戻るボタンがアプリ全体に表示されます。

バックボタンをタップすると、常にログインビューに移動します。何か案は?

enter image description here

+0

[iOSの別のViewControllerへの切り替え/ LoginViewでのログイン後の表示](http://stackoverflow.com/questions/6884160/ios-switch-to-another-viewcontroller-view-after-login-on-ログインビュー) – Caleb

+0

ではありません、idontは私自身のナビゲーションバーを隠したいと思っています。私は各ビューコントローラのカスタムバーを持っています – marsalal1014

答えて

0

を望んでいないいくつかのナビゲーションコントローラを持っていけないそうすれば、各コントローラーのビューごとに独自のナビゲーションバーがあります。

a)は、コントローラが

Bへの道をセグエするためだけの専用のナビゲーションバーを取り除く)navigationcontrollerを使用し、モーダルは、コントローラのビュー

[currentController presentModalViewController:controllerYouWantToShow animated:YES] 

Cにプッシュしません)ナビゲーションコントローラーのnavbar、それはあなたに奇妙な振る舞いを与え、実際にはブルートフォースであるので、私はそれを推薦しません。

+0

はb)を試みたが運がない! a)どのビューがロードされているかに応じて、いくつかのボタンが必要なので、それらを取り除くことはできません。ここでは何ができるのかわからない! – marsalal1014

+0

c) [currentController presentModalViewController:controllerYouWantToShow animated:YES]; – MJB

+0

私はそれを前にしましたが、私が得たものは "アプリケーションはモーダルにアクティブなコントローラを提示しようとしました"というのは、ログインビューの最初のビューが表示されるためです。 – marsalal1014

0

あなたは全体のバーを非表示にしますか?

その場合:

[self.navigationController setNavigationBarHidden:YES animated:NO]; 

それともあなただけの[戻る]ボタンを非表示にしたいですか?

[self.navigationItem setHidesBackButton:YES animated:NO] 
0

左側のストーリーボードモードでは、ナビゲーションコントローラの位置を確認する必要があります。戻るボタンを必要としないか、どちらかを非表示にするとナビゲーションバーを削除できます。

[self.navigationController setNavigationBarHidden:YES animated:NO]; 

しかし、ナビゲーションコントローラでやっていることであるビューコントローラスタックを押すよりも、ログイン画面を行う方が良い方法があります。

ログインを行う良い方法は、モーダルビューコントローラを提示してから、ナビゲーションコントローラなしでそれを閉じることです。こうすることで、既にログインしている場合はログイン画面に戻ることはできません。アプリ全体にログインしていることを知ることができるグローバルブール変数をアプリケーションデリゲートに設定し、モーダルログインページを閉じます。

あなたは通常、あなたが方法でセグエすべてのコントローラのビューにステータスバーを追加navigationcontrollerを持っているとき、この問題が発生した

乾杯

+0

こんにちは!それを隠すことによって試してみましたが、私は自分のナビゲーションバーを隠すだけで、戻るボタンが付いたバーではありません。 – marsalal1014

+0

自分の経験ではナビゲーションコントローラにも問題がたくさんありましたが、そしてそうでないとき。あなたの問題を解決するために2つのナビゲーションコントローラを使用する必要がある場合は、それを実行する可能性が最も高いでしょう。モーダルな移行はウェブサイトのようなポップアップと考えてください。ウェブ上の多くの時間、ログインフォームがポップアップしたり、却下したりして、ユーザーをプロフィールなどにナビゲートします。私はこれが2つのナビゲーションバーを使うのではなく、あなたが探しているものかもしれないと思う。お役に立てれば。 – onetwopunch

+0

彼は明らかに2つのバーを持っていないと思っています – MJB

0

navコントローラとプッシュセグを使用する場合、あなたはバクを得るつもりですこれはナビゲーションコントローラの性質だからです。それはあなたが望むように聞こえる(「ログインページに戻る」ボタンはありません)、ナビゲーションコントローラのスタックをリセットして、ログインビューコントローラを含まないようにします。あなたはカスタムセグを使ってそれを行うことができるはずです(彼らは簡単に書くことができます)。もう1つの選択肢は、ログイン画面をモーダルに表示することです。これは、ログイン画面を行うための典型的な方法です。

関連する問題