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
なぜこのように振る舞うのか、何か考えはありますか?