私はUINavigationController
に3つのviewControllerを持っています。もう1つはナビゲーションバーを隠す必要がありますが、戻るボタンやその他のバーボタンは表示されません。UINavigationController hide hide navigationBar - アニメーションの問題
初のViewController:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBar.barTintColor = Constants.kThemeRedColor
self.navigationController?.navigationBar.tintColor = UIColor.white
self.navigationController?.navigationBar.barStyle = .black
self.navigationController?.navigationBar.isTranslucent = false
}
第二のViewController(のみナビゲーションバーを非表示):
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true
self.navigationController?.view.backgroundColor = UIColor.clear
}
をこのような理由から、私は次のように現在、私は上記の取り扱いしていますisNavigationBarHidden = true
を使用することはできませんここで問題となるのは、最初のviewControllerが消えて表示されている最短の期間、firstViewControllerをナビゲートすると、その上に黒色のナビゲーションバーが表示されることです。私はこれが2番目のviewControllerで書かれたコードのためであることを知っています。しかし、私はこれを行う他の解決策はありません。
ファーストのViewController(それがどうあるべきか):
第二のViewController:
ファーストのViewController(黒ナビゲーションバーでスクリーンショットを添付短期間):
あなたの背景色は何ですか? navbarの下のtableviewですか? –