私のアプリケーションはタブ付きアプリケーションであり、tabBarControllerの下にいくつかのコントローラーがあります。 1つのコントローラーはnavigationControllerであり、そのルートビューはテーブルビューです。テーブルビューの行をクリックすると、別のビューがプッシュされます。したがって、ビューがプッシュされたときに、下部のtabBarを非表示にするにはどうすればよいですか。さらに、プッシュされたビューに別のtabBarを追加したいので、UITabBarまたはUITabBarControllerを割り当てる必要がありますか?または別の方法がありますか?ありがとうございました!
タブバーを非表示にする場合は、UIViewController.hidesBottomBarWhenPushed = YESを設定します。
...
nextViewController.hidesBottomBarWhenPushed = YES;
...
HidesBottomBarWhenPushedメソッドは、途切れ途切れのアニメーションで下部のバーを非表示にすることがあります。
代わりに、viewDidLoadのタブバーを非表示にします。
self.tabBarController.tabBar.hidden = YES;
そしてviewWillDisappearでその存在を復元します
self.tabBarController.tabBar.hidden = NO;
非表示にするコントローラーにtrue
hidesBottomBarWhenPushed
を設定します。
prepare for segue
に配置されたすべてのコントローラーを非表示にします
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
segue.destination.hidesBottomBarWhenPushed = true
}