Skip to content

Commit 89facb4

Browse files
committed
iOS 15 support
1 parent 8525bdf commit 89facb4

File tree

3 files changed

+7
-16
lines changed

3 files changed

+7
-16
lines changed

Example/MainViewController.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ class MainViewController: UITableViewController {
5353
navigationBarAppearance.backgroundColor = currentNavigationBarData.barTintColor.toUIColor
5454
navigationBarAppearance.backgroundImage = currentNavigationBarData.backgroundImageColor.toUIImage
5555
navigationBarAppearance.shadowImage = (currentNavigationBarData.prefersShadowImageHidden) ? UIImage() : nil
56-
navigationController?.navigationBar.scrollEdgeAppearance = navigationBarAppearance
5756
navigationController?.navigationBar.standardAppearance = navigationBarAppearance
57+
navigationController?.navigationBar.scrollEdgeAppearance = navigationBarAppearance
5858
} else {
5959
navigationController?.navigationBar.barTintColor = currentNavigationBarData.barTintColor.toUIColor
6060
navigationController?.navigationBar.setBackgroundImage(currentNavigationBarData.backgroundImageColor.toUIImage, for: .default)

KMNavigationBarTransition/UINavigationController+KMNavigationBarTransition.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ - (UIViewController *)km_popViewControllerAnimated:(BOOL)animated {
9292
if (appearingViewController.km_transitionNavigationBar) {
9393
UINavigationBar *appearingNavigationBar = appearingViewController.km_transitionNavigationBar;
9494
if (@available(iOS 15, *)) {
95-
self.navigationBar.scrollEdgeAppearance = appearingNavigationBar.scrollEdgeAppearance;
9695
self.navigationBar.standardAppearance = appearingNavigationBar.standardAppearance;
96+
self.navigationBar.scrollEdgeAppearance = appearingNavigationBar.scrollEdgeAppearance;
9797
} else {
9898
self.navigationBar.barTintColor = appearingNavigationBar.barTintColor;
9999
[self.navigationBar setBackgroundImage:[appearingNavigationBar backgroundImageForBarMetrics:UIBarMetricsDefault] forBarMetrics:UIBarMetricsDefault];
@@ -115,8 +115,8 @@ - (UIViewController *)km_popViewControllerAnimated:(BOOL)animated {
115115
if (viewController.km_transitionNavigationBar) {
116116
UINavigationBar *appearingNavigationBar = viewController.km_transitionNavigationBar;
117117
if (@available(iOS 15, *)) {
118-
self.navigationBar.scrollEdgeAppearance = appearingNavigationBar.scrollEdgeAppearance;
119118
self.navigationBar.standardAppearance = appearingNavigationBar.standardAppearance;
119+
self.navigationBar.scrollEdgeAppearance = appearingNavigationBar.scrollEdgeAppearance;
120120
} else {
121121
self.navigationBar.barTintColor = appearingNavigationBar.barTintColor;
122122
[self.navigationBar setBackgroundImage:[appearingNavigationBar backgroundImageForBarMetrics:UIBarMetricsDefault] forBarMetrics:UIBarMetricsDefault];
@@ -139,8 +139,8 @@ - (UIViewController *)km_popViewControllerAnimated:(BOOL)animated {
139139
if (rootViewController.km_transitionNavigationBar) {
140140
UINavigationBar *appearingNavigationBar = rootViewController.km_transitionNavigationBar;
141141
if (@available(iOS 15, *)) {
142-
self.navigationBar.scrollEdgeAppearance = appearingNavigationBar.scrollEdgeAppearance;
143142
self.navigationBar.standardAppearance = appearingNavigationBar.standardAppearance;
143+
self.navigationBar.scrollEdgeAppearance = appearingNavigationBar.scrollEdgeAppearance;
144144
} else {
145145
self.navigationBar.barTintColor = appearingNavigationBar.barTintColor;
146146
[self.navigationBar setBackgroundImage:[appearingNavigationBar backgroundImageForBarMetrics:UIBarMetricsDefault] forBarMetrics:UIBarMetricsDefault];

KMNavigationBarTransition/UIViewController+KMNavigationBarTransition.m

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@ - (void)km_viewDidAppear:(BOOL)animated {
7272
UIViewController *transitionViewController = self.navigationController.km_transitionContextToViewController;
7373
if (self.km_transitionNavigationBar) {
7474
if (@available(iOS 15, *)) {
75-
self.navigationController.navigationBar.scrollEdgeAppearance = self.km_transitionNavigationBar.scrollEdgeAppearance;
7675
self.navigationController.navigationBar.standardAppearance = self.km_transitionNavigationBar.standardAppearance;
76+
self.navigationController.navigationBar.scrollEdgeAppearance = self.km_transitionNavigationBar.scrollEdgeAppearance;
7777
} else {
7878
self.navigationController.navigationBar.barTintColor = self.km_transitionNavigationBar.barTintColor;
7979
[self.navigationController.navigationBar setBackgroundImage:[self.km_transitionNavigationBar backgroundImageForBarMetrics:UIBarMetricsDefault] forBarMetrics:UIBarMetricsDefault];
@@ -141,17 +141,8 @@ - (void)km_addTransitionNavigationBarIfNeeded {
141141
bar.translucent = self.navigationController.navigationBar.translucent;
142142
}
143143
if (@available(iOS 15, *)) {
144-
UINavigationBarAppearance *navigationBarAppearance = [UINavigationBarAppearance new];
145-
if (bar.translucent) {
146-
[navigationBarAppearance configureWithTransparentBackground];
147-
} else {
148-
[navigationBarAppearance configureWithOpaqueBackground];
149-
}
150-
navigationBarAppearance.backgroundColor = self.navigationController.navigationBar.standardAppearance.backgroundColor;
151-
navigationBarAppearance.backgroundImage = self.navigationController.navigationBar.standardAppearance.backgroundImage;
152-
navigationBarAppearance.shadowImage = self.navigationController.navigationBar.standardAppearance.shadowImage;
153-
bar.standardAppearance = navigationBarAppearance;
154-
bar.scrollEdgeAppearance = navigationBarAppearance;
144+
bar.standardAppearance = self.navigationController.navigationBar.standardAppearance;
145+
bar.scrollEdgeAppearance = self.navigationController.navigationBar.scrollEdgeAppearance;
155146
} else {
156147
bar.barTintColor = self.navigationController.navigationBar.barTintColor;
157148
[bar setBackgroundImage:[self.navigationController.navigationBar backgroundImageForBarMetrics:UIBarMetricsDefault] forBarMetrics:UIBarMetricsDefault];

0 commit comments

Comments
 (0)