From a9c7bd6abd6035c221d43669db8ac92a289dadcd Mon Sep 17 00:00:00 2001 From: Boyko Mihail Date: Fri, 18 Jun 2021 11:09:59 +0300 Subject: [PATCH] fix: pr issue --- TIUIElements/README.md | 9 ++++++++- .../Sources/Helpers/HeaderTransitionDelegate.swift | 6 +++--- .../Helpers/Protocols/NavigationBarHandler.swift | 11 +++++++++++ .../Helpers/Protocols/NavigationBarСalculated.swift | 7 ++++--- 4 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 TIUIElements/Sources/Helpers/Protocols/NavigationBarHandler.swift diff --git a/TIUIElements/README.md b/TIUIElements/README.md index 4ce49a26..8a54dd9c 100644 --- a/TIUIElements/README.md +++ b/TIUIElements/README.md @@ -16,7 +16,7 @@ public protocol CollapsibleViewsContainer: class, TableViewHandler { var bottomHeaderView: UIView? { get } // tableHeaderView var fixedTopOffet: CGFloat { get } // status bar + nav bar height - var navigationBar: UINavigationBar? { get } + var navBar: UINavigationBar? { get } var tableView: UITableView { get } } @@ -30,6 +30,13 @@ var fixedTopOffet: CGFloat { } ``` +UIViewController have default realization for navBar +```swift +public var navBar: UINavigationBar? { + navigationController?.navigationBar +} +``` + ## Usage if your ViewController don't needs extend UITableViewDelegate ```swift let headerTransitionDelegate = HeaderTransitionDelegate(headerViewHandler: self) diff --git a/TIUIElements/Sources/Helpers/HeaderTransitionDelegate.swift b/TIUIElements/Sources/Helpers/HeaderTransitionDelegate.swift index e799ed8a..dfea81e3 100644 --- a/TIUIElements/Sources/Helpers/HeaderTransitionDelegate.swift +++ b/TIUIElements/Sources/Helpers/HeaderTransitionDelegate.swift @@ -16,10 +16,10 @@ open class HeaderTransitionDelegate: NSObject, UIScrollViewDelegate { private var titleView: UIView? { get { - headerViewHandler?.navigationBar?.topItem?.titleView + headerViewHandler?.navBar?.topItem?.titleView } set { - headerViewHandler?.navigationBar?.topItem?.titleView = newValue + headerViewHandler?.navBar?.topItem?.titleView = newValue } } @@ -103,7 +103,7 @@ open class HeaderTransitionDelegate: NSObject, UIScrollViewDelegate { } private func animate(headerAnimation: HeaderAnimationType, alpha: CGFloat) { - + debugPrint("titleView = ", headerViewHandler?.navBar) switch headerAnimation { case .paralaxWithTransition: titleView?.transition(to: alpha) diff --git a/TIUIElements/Sources/Helpers/Protocols/NavigationBarHandler.swift b/TIUIElements/Sources/Helpers/Protocols/NavigationBarHandler.swift new file mode 100644 index 00000000..58f12e90 --- /dev/null +++ b/TIUIElements/Sources/Helpers/Protocols/NavigationBarHandler.swift @@ -0,0 +1,11 @@ +import UIKit + +public protocol NavigationBarHandler { + var navBar: UINavigationBar? { get } +} + +extension UIViewController: NavigationBarHandler { + public var navBar: UINavigationBar? { + navigationController?.navigationBar + } +} diff --git a/TIUIElements/Sources/Helpers/Protocols/NavigationBarСalculated.swift b/TIUIElements/Sources/Helpers/Protocols/NavigationBarСalculated.swift index b57d7d9f..139dacbf 100644 --- a/TIUIElements/Sources/Helpers/Protocols/NavigationBarСalculated.swift +++ b/TIUIElements/Sources/Helpers/Protocols/NavigationBarСalculated.swift @@ -1,11 +1,12 @@ import UIKit -public protocol CollapsibleViewsContainer: class, TableViewHandler { +public protocol CollapsibleViewsContainer: class, + TableViewHandler, + NavigationBarHandler { + var topHeaderView: UIView? { get } // titleView var bottomHeaderView: UIView? { get } // tableHeaderView - var fixedTopOffet: CGFloat { get } // status bar + nav bar height - var navigationBar: UINavigationBar? { get } } public extension UIViewController {