ログイン画面のView Controllerにプッシュしてからメインメニューにプッシュするナビゲーションバーを備えたアプリケーションがあります。メインメニューから[戻る]ボタンを削除する方法はありますか。そのため、ユーザーはログイン画面に戻ることができませんか?
ありがとう!
編集:Xcode 4.3を使用し、すべての脚の作業をプログラムで実行します。
できるよ:
[self.navigationItem setHidesBackButton:YES];
2番目のView Controller(ボタンを非表示にする)。
ピーターズの答えは正しいですが、より良い質問はなぜですか?プッシュVCを使用する代わりに、ユーザーにログインするスキーマで、モーダルVCを提示し、ログインで取得されたuserinfoを取得するデリゲートメソッドを使用します。プロセス:必要に応じて完全なコード例を投稿できますが、ログインプロセスで詳細を把握しているようです。
presentModalViewController
の代わりに:
pushViewController
そうすれば、ナビゲーションスタックについて心配したり、ユーザーインターフェイスガイドラインと実際には一致しないことをしたりする必要はありません。
上記のコードは私にはうまくいきませんでした。 INavigationItem setHidesBackButton:YESは戻りません で提案されているように、私は使用しなければなりませんでした:
[self.navigationItem setLeftBarButtonItem:[[UIBarButtonItem alloc] initWithCustomView:[[UIView alloc] init]]];
スイフトで
self.navigationItem.hidesBackButton = true
Xcode7.3.1、Swiftで試しました
self.navigationItem.setHidesBackButton(true, animated: true)
戻る矢印を非表示にし、戻るアクションを無効にするだけですが、以前のView Controllerの名前は引き続き表示されます。
以前のView Controllerの名前も非表示にしたい場合は、 Yoga's answer works for tryを試してください。スイフトで
self.navigationItem.leftBarButtonItem = UIBarButtonItem(customView: UIView())
これを試して:
[self.navigationItem setHidesBackButton:YES];
または
[self.navigationItem setHidesBackButton:YES animated:YES];