Skip to content

Commit b0e2821

Browse files
committed
Fix status bar
1 parent 3d93de8 commit b0e2821

File tree

5 files changed

+44
-29
lines changed

5 files changed

+44
-29
lines changed

ExampleMVVM.xcodeproj/project.pbxproj

+4
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
1F5CE1CD242C303700A9CDE3 /* CoreDataStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F5CE1CC242C303700A9CDE3 /* CoreDataStorage.swift */; };
4040
1F6B521323630016002FCDE9 /* RepositoryTask.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F6B521223630016002FCDE9 /* RepositoryTask.swift */; };
4141
1F77930F222C0DF2004E034C /* StoryboardInstantiable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F77930E222C0DF2004E034C /* StoryboardInstantiable.swift */; };
42+
1F794921247D869700552CC3 /* BlackStyleNavigationBarBehavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F794920247D869700552CC3 /* BlackStyleNavigationBarBehavior.swift */; };
4243
1F7C1D19242117910014F011 /* Movie+Stub.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F7C1D17242117790014F011 /* Movie+Stub.swift */; };
4344
1F84DECE2300677B00139F73 /* Observable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1FEE31612218B17E00C160B9 /* Observable.swift */; };
4445
1F84DED023006BDA00139F73 /* FetchRecentMovieQueriesUseCase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1F84DECF23006BDA00139F73 /* FetchRecentMovieQueriesUseCase.swift */; };
@@ -150,6 +151,7 @@
150151
1F5CE1CC242C303700A9CDE3 /* CoreDataStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataStorage.swift; sourceTree = "<group>"; };
151152
1F6B521223630016002FCDE9 /* RepositoryTask.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RepositoryTask.swift; sourceTree = "<group>"; };
152153
1F77930E222C0DF2004E034C /* StoryboardInstantiable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoryboardInstantiable.swift; sourceTree = "<group>"; };
154+
1F794920247D869700552CC3 /* BlackStyleNavigationBarBehavior.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlackStyleNavigationBarBehavior.swift; sourceTree = "<group>"; };
153155
1F7C1D17242117790014F011 /* Movie+Stub.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Movie+Stub.swift"; sourceTree = "<group>"; };
154156
1F84DECF23006BDA00139F73 /* FetchRecentMovieQueriesUseCase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FetchRecentMovieQueriesUseCase.swift; sourceTree = "<group>"; };
155157
1F9034C32306FDFE00DEA4BD /* NetworkServiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkServiceTests.swift; sourceTree = "<group>"; };
@@ -567,6 +569,7 @@
567569
isa = PBXGroup;
568570
children = (
569571
1FB0903C243766C200DBE132 /* BackButtonEmptyTitleNavigationBarBehavior.swift */,
572+
1F794920247D869700552CC3 /* BlackStyleNavigationBarBehavior.swift */,
570573
);
571574
path = Behaviors;
572575
sourceTree = "<group>";
@@ -1003,6 +1006,7 @@
10031006
1FFF1AD5243B966600937EE4 /* MoviesListItemViewModel.swift in Sources */,
10041007
1FC2C9632301FEC0001AE47E /* MovieQueryUDS+Mapping.swift in Sources */,
10051008
1FE49D90230AA7C200D1D42E /* MovieDetailsViewModel.swift in Sources */,
1009+
1F794921247D869700552CC3 /* BlackStyleNavigationBarBehavior.swift in Sources */,
10061010
1F1FC48A22E3693100BCBA8D /* DataTransferService.swift in Sources */,
10071011
1FEE31622218B17E00C160B9 /* Observable.swift in Sources */,
10081012
1FFFC836221B0041007D99D2 /* MoviesRepository.swift in Sources */,

ExampleMVVM/Presentation/MoviesScene/Behaviors/BackButtonEmptyTitleNavigationBarBehavior.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import UIKit
99

1010
struct BackButtonEmptyTitleNavigationBarBehavior: ViewControllerLifecycleBehavior {
1111

12-
func afterLoading(viewController: UIViewController) {
12+
func viewDidLoad(viewController: UIViewController) {
1313

1414
viewController.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
1515
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
//
2+
// BlackStyleNavigationBarBehavior.swift
3+
// ExampleMVVM
4+
//
5+
// Created by Oleh Kudinov on 26/05/2020.
6+
//
7+
8+
import UIKit
9+
10+
struct BlackStyleNavigationBarBehavior: ViewControllerLifecycleBehavior {
11+
12+
func viewDidLoad(viewController: UIViewController) {
13+
14+
viewController.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)
15+
}
16+
}

ExampleMVVM/Presentation/MoviesScene/MoviesList/View/MoviesListViewController.swift

+2-7
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ final class MoviesListViewController: UIViewController, StoryboardInstantiable,
3737
title = viewModel.screenTitle
3838
emptyDataLabel.text = viewModel.emptyDataTitle
3939
setupSearchController()
40-
addBehaviors([BackButtonEmptyTitleNavigationBarBehavior()])
40+
addBehaviors([BackButtonEmptyTitleNavigationBarBehavior(),
41+
BlackStyleNavigationBarBehavior()])
4142

4243
bind(to: viewModel)
4344
viewModel.viewDidLoad()
@@ -107,12 +108,6 @@ final class MoviesListViewController: UIViewController, StoryboardInstantiable,
107108
}
108109
}
109110

110-
extension MoviesListViewController {
111-
override var preferredStatusBarStyle: UIStatusBarStyle {
112-
return .lightContent
113-
}
114-
}
115-
116111
// MARK: - Search Controller
117112

118113
extension MoviesListViewController {

ExampleMVVM/Presentation/Utils/Extensions/UIViewController+AddBehaviors.swift

+21-21
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,23 @@
1212
import UIKit
1313

1414
protocol ViewControllerLifecycleBehavior {
15-
func afterLoading(viewController: UIViewController)
16-
func beforeAppearing(viewController: UIViewController)
17-
func afterAppearing(viewController: UIViewController)
18-
func beforeDisappearing(viewController: UIViewController)
19-
func afterDisappearing(viewController: UIViewController)
20-
func beforeLayingOutSubviews(viewController: UIViewController)
21-
func afterLayingOutSubviews(viewController: UIViewController)
15+
func viewDidLoad(viewController: UIViewController)
16+
func viewWillAppear(viewController: UIViewController)
17+
func viewDidAppear(viewController: UIViewController)
18+
func viewWillDisappear(viewController: UIViewController)
19+
func viewDidDisappear(viewController: UIViewController)
20+
func viewWillLayoutSubviews(viewController: UIViewController)
21+
func viewDidLayoutSubviews(viewController: UIViewController)
2222
}
2323
// Default implementations
2424
extension ViewControllerLifecycleBehavior {
25-
func afterLoading(viewController: UIViewController) {}
26-
func beforeAppearing(viewController: UIViewController) {}
27-
func afterAppearing(viewController: UIViewController) {}
28-
func beforeDisappearing(viewController: UIViewController) {}
29-
func afterDisappearing(viewController: UIViewController) {}
30-
func beforeLayingOutSubviews(viewController: UIViewController) {}
31-
func afterLayingOutSubviews(viewController: UIViewController) {}
25+
func viewDidLoad(viewController: UIViewController) {}
26+
func viewWillAppear(viewController: UIViewController) {}
27+
func viewDidAppear(viewController: UIViewController) {}
28+
func viewWillDisappear(viewController: UIViewController) {}
29+
func viewDidDisappear(viewController: UIViewController) {}
30+
func viewWillLayoutSubviews(viewController: UIViewController) {}
31+
func viewDidLayoutSubviews(viewController: UIViewController) {}
3232
}
3333

3434
extension UIViewController {
@@ -71,55 +71,55 @@ extension UIViewController {
7171
navigationController?.interactivePopGestureRecognizer?.delegate = self
7272

7373
applyBehaviors { behavior, viewController in
74-
behavior.afterLoading(viewController: viewController)
74+
behavior.viewDidLoad(viewController: viewController)
7575
}
7676
}
7777

7878
override func viewWillAppear(_ animated: Bool) {
7979
super.viewWillAppear(animated)
8080

8181
applyBehaviors { behavior, viewController in
82-
behavior.beforeAppearing(viewController: viewController)
82+
behavior.viewWillAppear(viewController: viewController)
8383
}
8484
}
8585

8686
override func viewDidAppear(_ animated: Bool) {
8787
super.viewDidAppear(animated)
8888

8989
applyBehaviors { behavior, viewController in
90-
behavior.afterAppearing(viewController: viewController)
90+
behavior.viewDidAppear(viewController: viewController)
9191
}
9292
}
9393

9494
override func viewWillDisappear(_ animated: Bool) {
9595
super.viewWillDisappear(animated)
9696

9797
applyBehaviors { behavior, viewController in
98-
behavior.beforeDisappearing(viewController: viewController)
98+
behavior.viewWillDisappear(viewController: viewController)
9999
}
100100
}
101101

102102
override func viewDidDisappear(_ animated: Bool) {
103103
super.viewDidDisappear(animated)
104104

105105
applyBehaviors { behavior, viewController in
106-
behavior.afterDisappearing(viewController: viewController)
106+
behavior.viewDidDisappear(viewController: viewController)
107107
}
108108
}
109109

110110
override func viewWillLayoutSubviews() {
111111
super.viewWillLayoutSubviews()
112112

113113
applyBehaviors { behavior, viewController in
114-
behavior.beforeLayingOutSubviews(viewController: viewController)
114+
behavior.viewWillLayoutSubviews(viewController: viewController)
115115
}
116116
}
117117

118118
override func viewDidLayoutSubviews() {
119119
super.viewDidLayoutSubviews()
120120

121121
applyBehaviors { behavior, viewController in
122-
behavior.afterLayingOutSubviews(viewController: viewController)
122+
behavior.viewDidLayoutSubviews(viewController: viewController)
123123
}
124124
}
125125

0 commit comments

Comments
 (0)