From e3ddab4f198ba49067e228bec2f7e7badd58ee1c Mon Sep 17 00:00:00 2001 From: Artur Azarau Date: Thu, 10 Jan 2019 14:16:45 +0300 Subject: [PATCH] issues resolved --- LeadKit.xcodeproj/project.pbxproj | 18 ++++++------------ Sources/Enums/TitleType.swift | 7 ++++++- .../UINavigationItem+Support.swift} | 8 +++++--- ...wController+UpdateNavigationItemTitle.swift | 6 +++++- 4 files changed, 22 insertions(+), 17 deletions(-) rename Sources/Extensions/{UIKit/UINavigationItem/UINavigationItem+TitleDisplayMode.swift => Support/UINavigationItem+Support.swift} (87%) diff --git a/LeadKit.xcodeproj/project.pbxproj b/LeadKit.xcodeproj/project.pbxproj index 32afc382..8618dc7c 100644 --- a/LeadKit.xcodeproj/project.pbxproj +++ b/LeadKit.xcodeproj/project.pbxproj @@ -666,8 +666,9 @@ 6B5B6F0BFA22832C47142BAD /* TableKitViewModel+Extenstions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B5B61443DDAB82927448CAA /* TableKitViewModel+Extenstions.swift */; }; 6B5B6F4E2B4F6F74348AC138 /* TableKitViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6B5B66503F2C42D009DEA011 /* TableKitViewModel.swift */; }; 7295473F21E661E6009558E7 /* TitleType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7295473E21E661E6009558E7 /* TitleType.swift */; }; - 7295474221E6628C009558E7 /* UINavigationItem+TitleDisplayMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7295474121E6628C009558E7 /* UINavigationItem+TitleDisplayMode.swift */; }; + 7295474221E6628C009558E7 /* UINavigationItem+Support.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7295474121E6628C009558E7 /* UINavigationItem+Support.swift */; }; 7295474421E66328009558E7 /* UIViewController+UpdateNavigationItemTitle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7295474321E66328009558E7 /* UIViewController+UpdateNavigationItemTitle.swift */; }; + 7295474D21E75E84009558E7 /* UINavigationItem+Support.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7295474121E6628C009558E7 /* UINavigationItem+Support.swift */; }; 820CAD8420B43B080033EF94 /* PaginationWrapperDelegate+DefaultImplementation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 820CAD8320B43B080033EF94 /* PaginationWrapperDelegate+DefaultImplementation.swift */; }; 825F8F2820B3384C00594857 /* PaginationWrapperUIDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 825F8F2720B3384C00594857 /* PaginationWrapperUIDelegate.swift */; }; 82F8BB181F5DDED100C1061B /* Single+DeferredJust.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82F8BB171F5DDED100C1061B /* Single+DeferredJust.swift */; }; @@ -985,7 +986,7 @@ 6B5B62E7942E5AEE68A95449 /* Array+RowExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Array+RowExtensions.swift"; sourceTree = ""; }; 6B5B66503F2C42D009DEA011 /* TableKitViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableKitViewModel.swift; sourceTree = ""; }; 7295473E21E661E6009558E7 /* TitleType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TitleType.swift; sourceTree = ""; }; - 7295474121E6628C009558E7 /* UINavigationItem+TitleDisplayMode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UINavigationItem+TitleDisplayMode.swift"; sourceTree = ""; }; + 7295474121E6628C009558E7 /* UINavigationItem+Support.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UINavigationItem+Support.swift"; sourceTree = ""; }; 7295474321E66328009558E7 /* UIViewController+UpdateNavigationItemTitle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+UpdateNavigationItemTitle.swift"; sourceTree = ""; }; 78405D3B3D3C3E17456877FF /* Pods_LeadKit_iOSTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LeadKit_iOSTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 820CAD8320B43B080033EF94 /* PaginationWrapperDelegate+DefaultImplementation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PaginationWrapperDelegate+DefaultImplementation.swift"; sourceTree = ""; }; @@ -1285,6 +1286,7 @@ 671461FE1EB3396E00EAB194 /* Support */ = { isa = PBXGroup; children = ( + 7295474121E6628C009558E7 /* UINavigationItem+Support.swift */, 671461FF1EB3396E00EAB194 /* UIScrollView+Support.swift */, ); path = Support; @@ -1582,7 +1584,6 @@ 672947E4206EA67B00AC6B6B /* UIImage */, 67E902552125B55E008EDF45 /* UIImageView */, 67274776206CD07B00725163 /* UILabel */, - 7295474021E6623D009558E7 /* UINavigationItem */, 6741CEB820E242CF00FEC4D9 /* UIScrollView */, 36DAAF4F2007CC330090BE0D /* UITableView */, 67E3524C2119ABD00035BDDB /* UITextField */, @@ -2176,14 +2177,6 @@ path = TableKitViewModel; sourceTree = ""; }; - 7295474021E6623D009558E7 /* UINavigationItem */ = { - isa = PBXGroup; - children = ( - 7295474121E6628C009558E7 /* UINavigationItem+TitleDisplayMode.swift */, - ); - path = UINavigationItem; - sourceTree = ""; - }; 78CFEE201C5C456B00F50370 = { isa = PBXGroup; children = ( @@ -3006,7 +2999,7 @@ B84CB06D20B8325D0090DB91 /* SessionManager.swift in Sources */, A658E5501F8CD9350093527A /* Array+SeparatorRowBoxExtensions.swift in Sources */, 673564F12068C2AD00F0CBED /* NumberFormattingService+DefaultImplementation.swift in Sources */, - 7295474221E6628C009558E7 /* UINavigationItem+TitleDisplayMode.swift in Sources */, + 7295474221E6628C009558E7 /* UINavigationItem+Support.swift in Sources */, 7295474421E66328009558E7 /* UIViewController+UpdateNavigationItemTitle.swift in Sources */, 671462EC1EB3396E00EAB194 /* UIImage+Extensions.swift in Sources */, 6713C24120AF189100875921 /* RxNetworkOperationModel.swift in Sources */, @@ -3555,6 +3548,7 @@ 67E352532119AC060035BDDB /* UIButton+ViewTextConfigurable.swift in Sources */, 6713C24220AF189100875921 /* RxNetworkOperationModel.swift in Sources */, 671462A11EB3396E00EAB194 /* Double+Rounding.swift in Sources */, + 7295474D21E75E84009558E7 /* UINavigationItem+Support.swift in Sources */, 671463091EB3396E00EAB194 /* UIView+Rotation.swift in Sources */, 67ED2BDF20B44DEB00508B3E /* InitializableView.swift in Sources */, 6714626D1EB3396E00EAB194 /* XibView.swift in Sources */, diff --git a/Sources/Enums/TitleType.swift b/Sources/Enums/TitleType.swift index 6f0a7db7..b2a95229 100644 --- a/Sources/Enums/TitleType.swift +++ b/Sources/Enums/TitleType.swift @@ -20,7 +20,12 @@ // THE SOFTWARE. // -enum TitleType { +/// Title type for UIViewController title. +/// +/// - large: large sized title +/// - normal: normal sized title +/// - empty: empty title +public enum TitleType { case large(title: String) case normal(title: String) case empty diff --git a/Sources/Extensions/UIKit/UINavigationItem/UINavigationItem+TitleDisplayMode.swift b/Sources/Extensions/Support/UINavigationItem+Support.swift similarity index 87% rename from Sources/Extensions/UIKit/UINavigationItem/UINavigationItem+TitleDisplayMode.swift rename to Sources/Extensions/Support/UINavigationItem+Support.swift index 9d87a54d..3f36184b 100644 --- a/Sources/Extensions/UIKit/UINavigationItem/UINavigationItem+TitleDisplayMode.swift +++ b/Sources/Extensions/Support/UINavigationItem+Support.swift @@ -22,11 +22,13 @@ import UIKit -public extension UINavigationItem { - var largeTitleDisplayModeIOS11: LargeTitleDisplayMode { +public extension Support where Base: UINavigationItem { + + /// Large title display mode + var largeTitleDisplayMode: Base.LargeTitleDisplayMode { get { if #available(iOS 11.0, *) { - return largeTitleDisplayMode + return self.largeTitleDisplayMode } else { return .never } diff --git a/Sources/Extensions/UIKit/UIViewController/UIViewController+UpdateNavigationItemTitle.swift b/Sources/Extensions/UIKit/UIViewController/UIViewController+UpdateNavigationItemTitle.swift index 82bb1a17..f702ebe7 100644 --- a/Sources/Extensions/UIKit/UIViewController/UIViewController+UpdateNavigationItemTitle.swift +++ b/Sources/Extensions/UIKit/UIViewController/UIViewController+UpdateNavigationItemTitle.swift @@ -22,7 +22,11 @@ import UIKit -extension UIViewController { +public extension UIViewController { + + /// Updates UIViewController's title + /// + /// - Parameter titleType: UIViewController's title type func updateNavigationItemTitle(with titleType: TitleType) { switch titleType { case let .large(newTitle), let .normal(newTitle):