10

私はこれを使用して:[self.navigationItem setHidesBackButton:YES animated:NO];私のナビゲーションバーの戻るボタンを隠すために、私のタイトルは中央にならない。ボタンがまだそこにあるように印刷されます。UINavigationBarの戻るボタン問題を解決する

これはなぜ起こるのか、どのように修正するのですか?

EDIT:私のrootViewControllerは、ナビゲーションコントローラである、と私はそうナビゲーションバーが隠されていることを設定します。

私のプログラムがそうのようなものです。次に、別のUIViewControllerに移動します。このUIViewControllerはナビゲーションバーを再び表示させますが、戻るボタンは表示されません。

設定を試したところ、self.navigationItem.backBarButtonItem = nil;が表示されましたが、バックボタンが消えませんでした。ここで

は参照用のいくつかの写真です:

Picture with back button Picture without

+0

タイトルが中央に配置されていないとはどういう意味ですか?何が印刷されますか? – Legolas

+0

タイトルは「仕事のカレンダー」で、印刷されますが、中央よりも右に表示されます。ボタンが消えたにもかかわらず、バックボタンが使用するスペースを取ることはありません。 – jylee

+0

デフォルトでは、タイトルは中央揃えされています。戻るボタンをnilに設定してみてください – Legolas

答えて

6

設定self.navigationItem.backBarButtonItem = nil; はあなたのナビゲーションバーの組成を変更していないので、あなたがに実行している問題がある

+0

私はそれを試みましたが、戻るボタンが消えないように見えませんでした。私は私の質問に多くの情報を追加しました。できればそれを見てください! – jylee

+0

は、戻るボタンのタイトルに問題はありますか? – Legolas

+1

私は何を意味するかを示すために写真を追加しました – jylee

1

、あなただけの一部を隠していますそれ。あなたのボタンの隠し値を設定すると、あなたはそれをやっているだけで、それを隠していますが、削除していません。それはまだスペースを取るでしょう。あなたの問題を解決するには、ボタンを削除する必要があります。そして、あなたが離れて移動できるようにするには、ボタンを戻してください。

現実的には、このような問題が表示されている場合は、ナビゲーションバーのUIデザインを再考し、より効果的なボタンタイトルを提示してください。

1

設定しているプロパティは、ナビゲーションコントローラスタックの「戻る」アイテムである場合の「自己」の表現方法を示します。私はあなたの "仕事のカレンダー"ビューコントローラでこれを設定していると仮定しますが、コントローラに子ビューがなければ動作しません。

代わりにナビゲーションバーのleftButtonItemプロパティをnilに設定してみてください。

55
viewController.navigationItem.hidesBackButton = YES; 

これは完全に機能します。

+2

私の場合、self.navigationItem。hidesBackButton = YES; これが機能しました:) – iMeMyself

+7

これは正解です。 –

+3

これは正しいコメントです:) – Fattie

13

これをそのまま使用しても機能します。

[self.navigationItem setHidesBackButton:YES animated:NO]; 
self.navigationItem.titleView.center = self.navigationController.navigationBar.center; 
+0

+1 - これは私のために働いた。 – viral

+0

それも私のために働く、ありがとう。 –