この投稿のユーザーに似たものを達成しようとしています:
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
- UITableViewController
- UITableViewController
- UITableViewController
使ってみました
[self parentViewController] parentViewController] parentViewController] ...
トップに戻ろうとしましたが、これもうまくいかなかったようです。
助言がありますか?