@@ -31,28 +31,40 @@ struct NavigationBarConfigurator: UIViewControllerRepresentable {
3131 coordinator. originalShadowColor = navigationBar. standardAppearance. shadowColor
3232 coordinator. originalBackgroundColor = navigationBar. standardAppearance. backgroundColor
3333 }
34- navigationBar. standardAppearance. shadowColor = . clear
35- navigationBar. standardAppearance. backgroundColor = backgroundColor
36- navigationBar. scrollEdgeAppearance? . shadowColor = . clear
37- navigationBar. scrollEdgeAppearance? . backgroundColor = backgroundColor
38- navigationBar. compactAppearance? . shadowColor = . clear
39- navigationBar. compactAppearance? . backgroundColor = backgroundColor
40- navigationBar. compactScrollEdgeAppearance? . shadowColor = . clear
41- navigationBar. compactScrollEdgeAppearance? . backgroundColor = backgroundColor
34+ Self . applyAppearance (
35+ to: navigationBar,
36+ shadowColor: . clear,
37+ backgroundColor: self . backgroundColor
38+ )
4239 }
4340 }
4441
4542 static func dismantleUIViewController( _ uiViewController: UIViewController , coordinator: Coordinator ) {
4643 if #available( iOS 26 , * ) { return }
4744 guard let navigationBar = uiViewController. navigationController? . navigationBar else { return }
48- navigationBar. standardAppearance. shadowColor = coordinator. originalShadowColor
49- navigationBar. standardAppearance. backgroundColor = coordinator. originalBackgroundColor
50- navigationBar. scrollEdgeAppearance? . shadowColor = coordinator. originalShadowColor
51- navigationBar. scrollEdgeAppearance? . backgroundColor = coordinator. originalBackgroundColor
52- navigationBar. compactAppearance? . shadowColor = coordinator. originalShadowColor
53- navigationBar. compactAppearance? . backgroundColor = coordinator. originalBackgroundColor
54- navigationBar. compactScrollEdgeAppearance? . shadowColor = coordinator. originalShadowColor
55- navigationBar. compactScrollEdgeAppearance? . backgroundColor = coordinator. originalBackgroundColor
45+ applyAppearance (
46+ to: navigationBar,
47+ shadowColor: coordinator. originalShadowColor,
48+ backgroundColor: coordinator. originalBackgroundColor
49+ )
50+ }
51+
52+ private static func applyAppearance(
53+ to navigationBar: UINavigationBar ,
54+ shadowColor: UIColor ? ,
55+ backgroundColor: UIColor ?
56+ ) {
57+ let appearances = [
58+ navigationBar. standardAppearance,
59+ navigationBar. scrollEdgeAppearance,
60+ navigationBar. compactAppearance,
61+ navigationBar. compactScrollEdgeAppearance
62+ ]
63+
64+ for appearance in appearances {
65+ appearance? . shadowColor = shadowColor
66+ appearance? . backgroundColor = backgroundColor
67+ }
5668 }
5769
5870 class Coordinator {
0 commit comments