web-dev-qa-db-ja.com

iOS戻るボタンを削除する方法?

ログイン画面のView Controllerにプッシュしてからメインメニューにプッシュするナビゲーションバーを備えたアプリケーションがあります。メインメニューから[戻る]ボタンを削除する方法はありますか。そのため、ユーザーはログイン画面に戻ることができませんか?

ありがとう!

編集:Xcode 4.3を使用し、すべての脚の作業をプログラムで実行します。

47
jbearden

できるよ:

[self.navigationItem setHidesBackButton:YES];

2番目のView Controller(ボタンを非表示にする)。

117
Peter Sarnowski

ピーターズの答えは正しいですが、より良い質問はなぜですか?プッシュVCを使用する代わりに、ユーザーにログインするスキーマで、モーダルVCを提示し、ログインで取得されたuserinfoを取得するデリゲートメソッドを使用します。プロセス:必要に応じて完全なコード例を投稿できますが、ログインプロセスで詳細を把握しているようです。

presentModalViewController

の代わりに:

pushViewController

そうすれば、ナビゲーションスタックについて心配したり、ユーザーインターフェイスガイドラインと実際には一致しないことをしたりする必要はありません。

9
LJ Wilson

上記のコードは私にはうまくいきませんでした。 INavigationItem setHidesBackButton:YESは戻りません で提案されているように、私は使用しなければなりませんでした:

[self.navigationItem setLeftBarButtonItem:[[UIBarButtonItem alloc] initWithCustomView:[[UIView alloc] init]]];
5
Yoga

スイフトで

self.navigationItem.hidesBackButton = true
4
Hamzah Malik

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())
1
Codingpan

これを試して:

[self.navigationItem setHidesBackButton:YES];

または

[self.navigationItem setHidesBackButton:YES animated:YES];
1
Flaviano Gomes