1

この投稿のユーザーに似たものを達成しようとしています:

Xcode/iOS:スクロールダウン時にナビゲーションとツールバーを非表示にする方法は?

コードを使用して、ナビゲーションバーを正常に非表示にする (または NO を使用して再表示する) ことができます。

[[self navigationController] setNavigationBarHidden:YES animated:YES];

ただし、コードを使用してツールバーを非表示にしようとすると:

[[self navigationController] setToolbarHidden:YES animated:YES];

何も起こりません。その後、ツールバーを再表示すると、存在に気付かなかった追加の青いツールバーが表示されることに気付きました。このスクリーンショットはこれを示しています:

スクリーンショット

青いバーは必要ありません。私がやろうとしているのは、アイコンが表示された黒いツールバーを非表示または再表示することです。(UITabBar)。

私がする必要があるのは、親ビュー コントローラーの 1 つのナビゲーション コントローラーにアクセスし、そのビューのナビゲーション コントローラーで setToolbarHidden を呼び出す必要があると思います。しかし、私はこれを行う方法を理解できないようです。

私は次のことを試しましたが、すべて効果がないようです:

[[[self parentViewController] navigationController] setToolbarHidden:YES animated:YES];

or

[[[[[[UIApplication sharedApplication] delegate] window] rootViewController] navigationController] setToolbarHidden:YES animated:YES];

私のView Controllerストーリーボードは次のもので構成されています。

InitialViewController は TabBarViewController です。3 人の子供が含まれています。それらの子の 1 つは UINavigationController です。このナビゲーション コントローラーにはいくつかの UITableViewController がプッシュされ、最終的に UIViewController がプッシュされます。この最後の UIViewController は、スクリーンショットに表示されているものです。

大まかなレイアウト:

  • TabBarViewController
    • UIViewController
    • UITableViewController
    • UINavigationController
      • UITableViewController
        • UITableViewController
          • UITableViewController
            • UIViewController

使ってみました

[self parentViewController] parentViewController] parentViewController] ...

トップに戻ろうとしましたが、これもうまくいかなかったようです。

助言がありますか?

4

1 に答える 1

1

ここでの問題はUITabBarControllerUIToolbar. このメソッドは、の組み込みツールバーsetToolbarHidden:にのみ適用されます( Apple のドキュメントを参照してください)。実際に非表示にしたいのが のタブ バーである場合は、 で直接アニメーション使用する方法にリンクしているこの投稿をご覧ください。UINavigationControllerUITabBarControllerUIViewUITabBar

于 2012-11-08T06:36:49.577 に答える