1

ナビゲーションバーに問題があります。

私のアプリの最初の画面はウェルカム画面で、画面の中央に2つのクラシックボタンがあります。バーはありません(タブまたはナビゲーション、およびステータスはのsetStatusBarHiddenで非表示になりますviewDidLoad)。ボタンの1つだけを実装しましたが、両方とも同じように機能します(2つの画面は似ています)。UITableViewControllerしたがって、最初のボタンは、入力するフォームを含む「サインアップ」画面(a)をロードします。そこにステータスバーが表示され、ナビゲーションバー(ビューコントローラーの属性パネルに)を追加しました。右上の「送信」ボタン。

「ナビゲーションアイテム」の属性パネル(名前のとおり)に、正しく表示される戻るボタンの名前を入力しました(名前を変更したいのですが、後で変更します)。

私の問題は、戻るボタンを押すと「ようこそ」画面に戻りますが、ステータスバーが非表示になっておらず、タイトルもボタンもないナビゲーションバーがあり、それらを非表示にします。(サインアップビューで) viewDidLoad、、を使用してみましたが、何も機能しません(ステータスバーを非表示にすることはできますが、ビューが読み込まれるため、非表示のナビゲーションバーとコンテンツの間に黒いスペースがあります)。viewDidAppearviewDidUnload

ちなみに、ほとんどのデザインはコードではなくストーリーボードを使って行っていますが、両方を使ってもかまいません。

誰か助けてもらえますか?ありがとう。

4

1 に答える 1

4

ステータスバーとナビゲーションバーをviewWillAppear:メソッドではなく:メソッドで非表示にしviewDidLoadます。表示したくないstatus bar or navigation bar場合は、そのコードをAppDelegateクラスに入れます。

編集:

これにより、View コントローラーのナビゲーション バーが非表示になります。次の場所に配置しviewWillAppearます。

self.navigationController.navigationBarHidden = YES;

これにより、ステータス バーが非表示になります。

[[UIApplication sharedApplication] setStatusBarHidden:YES animated: UIStatusBarAnimationNone];

ビュー コントローラーは にwantsFullScreenLayout設定しYES、ステータス バーを非表示にする必要があります。黒いスペースは、持っていないときにビューが自動的にサイズ変更されなかったことを示しています。status bar or navigation bar右側のストーリーボードの「サイズ インスペクター」で自動サイズ変更を確認する必要があります。サイド ペインのタブ。

編集 1: これにより、バーがアニメーションで非表示になります。

[self.navigationController setNavigationBarHidden:YES animated:YES];
[[UIApplication sharedApplication]setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];
于 2012-07-17T10:58:53.493 に答える