5

iOS 15 で、透明なナビゲーション バーを持つビュー コントローラーに移動すると、透明なバーへのアニメーションが期待どおりに動作しません。

ただし、透明なナビゲーション バーを使用してビュー コントローラーに戻ると、アニメーションは期待どおりに機能します。

これは、ビューコントローラーをセットアップした方法です。

rootVC

let appearance = UINavigationBarAppearance()
appearance.configureWithDefaultBackground()
appearance.backgroundColor = UIColor.red

self.navigationController?.navigationBar.standardAppearance = appearance
self.navigationController?.navigationBar.scrollEdgeAppearance = self.navigationController?.navigationBar.standardAppearance

ファーストVC

let appearance = UINavigationBarAppearance()
appearance.configureWithTransparentBackground()

self.navigationController?.navigationBar.standardAppearance = appearance
self.navigationController?.navigationBar.scrollEdgeAppearance = self.navigationController?.navigationBar.standardAppearance

セカンドVC

let appearance = UINavigationBarAppearance()
appearance.configureWithDefaultBackground()
appearance.backgroundColor = UIColor.yellow

self.navigationController?.navigationBar.standardAppearance = appearance
self.navigationController?.navigationBar.scrollEdgeAppearance = self.navigationController?.navigationBar.standardAppearance

次の例で、 rootVC -> firstVCからではなく、secondVC -> firstVCからの移行がいかにスムーズであるかに注目してください

ビデオデモンストレーション

サンプル プロジェクト: https://github.com/karlingen/NavigationTest

なぜこのように振る舞うのか、何か考えはありますか?

4

1 に答える 1