Skip to content

Commit 49b9319

Browse files
committed
refactor: 동일 코드 메서드화
1 parent 7acd80b commit 49b9319

1 file changed

Lines changed: 28 additions & 16 deletions

File tree

DevLog/UI/Common/NavigationBarConfigurator.swift

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)