5

xcode 4.6.3 でストーリーボード エディターを使用して簡単なアプリを作成しました。最初のビューは、ナビゲーション用のいくつかの単純なボタンを備えたナビゲーション コントローラーです。これにより、デフォルトで、ボタンを各ページに接続するときに、作成した各新しいビューの上部にナビゲーション バーが追加されます。

ただし、最初のページ (ランディング ページと呼ぶと思います) にはトップ バーがないようにします。ストーリーボード モードで上部のナビゲーション バーを無効にする方法については、こちらの手順に従います。ただし、これにより、このメイン ビューにリンクされているすべてのビューのすべてのナビゲーション バーが無効になります。

サブページのトップ ナビゲーション バーの色も変更しますが、これも機能しません。エミュレーターでアプリケーションを実行しましたが、変更が反映されていないようです。

誰でもアドバイスできますか?私は Objective C を初めて使用し (主に Java の経験があります)、すぐにアプリをリリースしたいと考えています。私の問題は時間ですが、Storyboard はこれを解決したようです。

4

4 に答える 4

21

アプリを起動したところ、同じ問題が発生しました。探している行は次のとおりです。

self.navigationController.navigationBar.hidden = YES;

完全なコードは次のとおりです。

- (void)viewWillAppear:(BOOL)animated
{
     self.navigationController.navigationBar.hidden = YES;
}

次のコントローラーで必ずオンに戻してください。

self.navigationController.navigationBar.hidden = NO;

Xcode の新しいバージョンでのみテストされましたが、4.6.3 では正常に動作するはずです

(viewDidLoad から viewWillAppear に変更するために編集)

于 2013-09-14T04:14:20.143 に答える
0

以下の回答は正しく、Swift 4 に関連しています。別の投稿では、viewWillDisappear を使用して、viewDidDisappear の代わりにナビゲーション バーを再度表示していますが、これは機能しません。Swift 4でこの問題を抱えているすべての人にとって、使用しないでください:

override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    self.navigationController?.setNavigationBarHidden(false, animated: true)
}

ナビゲーション バーを再度表示するには、次を使用します

 override func viewDidDisappear(_ animated: Bool) {
    super.viewDidDisappear(animated)
    self.navigationController?.setNavigationBarHidden(false, animated: true)
}
于 2018-08-01T16:50:52.603 に答える