From aeee16a2428a7d8968e7d01f4fb37a398ea7fa9a Mon Sep 17 00:00:00 2001 From: InKwon James Kim Date: Fri, 6 Sep 2019 15:54:37 +0900 Subject: [PATCH] Add SwipeNavigationController and add themeBackgroundGray --- GME Remit.xcodeproj/project.pbxproj | 4 + GME Remit/Extensions/UIColor+Ext.swift | 4 + .../Extensions/UIViewController+Ext.swift | 6 +- .../View/HomeViewController.swift | 6 +- .../Wireframe/LauncherScreenWireframe.swift | 2 +- .../Wireframe/MainWireframe.swift | 8 +- .../User Interface/View/Recipients.storyboard | 15 ++++ .../View/RecipientsViewController.swift | 21 +---- .../View/PennyTestSubmitViewController.swift | 2 +- .../View/DetailOrderViewController.swift | 12 ++- .../Modules/SideMenu/SideMenu.storyboard | 3 +- .../en.lproj/Localizable.strings | 2 + .../ConfirmAlert/ConfirmViewController.swift | 1 + .../GMEAlert/GMEAlertViewController.swift | 1 + .../Utilities/SwipeNavigationController.swift | 83 +++++++++++++++++++ .../View/TablePresenterViewController.swift | 2 + 16 files changed, 138 insertions(+), 34 deletions(-) create mode 100644 GME Remit/Utilities/SwipeNavigationController.swift diff --git a/GME Remit.xcodeproj/project.pbxproj b/GME Remit.xcodeproj/project.pbxproj index 82f5f4f2..9aa75475 100644 --- a/GME Remit.xcodeproj/project.pbxproj +++ b/GME Remit.xcodeproj/project.pbxproj @@ -198,6 +198,7 @@ 731627A52301009800BA48A8 /* ExchangeRateRequestModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 731627A42301009800BA48A8 /* ExchangeRateRequestModel.swift */; }; 73168A1F22F3CC4C00878038 /* NativeCountry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73168A1E22F3CC4B00878038 /* NativeCountry.swift */; }; 73168A2322F3D01A00878038 /* TablePresenterProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73168A2222F3D01900878038 /* TablePresenterProtocol.swift */; }; + 731703CC23221EA0005752DE /* SwipeNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 731703CB23221EA0005752DE /* SwipeNavigationController.swift */; }; 73185314230E19DD00BA9AE3 /* ValidateAccountRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73185313230E19DD00BA9AE3 /* ValidateAccountRequest.swift */; }; 73185316230EA5FB00BA9AE3 /* SaveResponseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73185315230EA5FB00BA9AE3 /* SaveResponseModel.swift */; }; 7318534E230EACA400BA9AE3 /* SendMoneyTransFerReasonViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73185329230EACA300BA9AE3 /* SendMoneyTransFerReasonViewModel.swift */; }; @@ -2420,6 +2421,7 @@ 731627A42301009800BA48A8 /* ExchangeRateRequestModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExchangeRateRequestModel.swift; sourceTree = ""; }; 73168A1E22F3CC4B00878038 /* NativeCountry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NativeCountry.swift; sourceTree = ""; }; 73168A2222F3D01900878038 /* TablePresenterProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TablePresenterProtocol.swift; sourceTree = ""; }; + 731703CB23221EA0005752DE /* SwipeNavigationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwipeNavigationController.swift; sourceTree = ""; }; 73185313230E19DD00BA9AE3 /* ValidateAccountRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ValidateAccountRequest.swift; sourceTree = ""; }; 73185315230EA5FB00BA9AE3 /* SaveResponseModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SaveResponseModel.swift; sourceTree = ""; }; 73185329230EACA300BA9AE3 /* SendMoneyTransFerReasonViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SendMoneyTransFerReasonViewModel.swift; sourceTree = ""; }; @@ -10810,6 +10812,7 @@ 73895FF522C2F208003FEA90 /* TablePresenter */, D95B7044213FB5F00053CC3D /* WebLinks */, 738F04B02316238600BA5EE7 /* ShadowView.swift */, + 731703CB23221EA0005752DE /* SwipeNavigationController.swift */, ); path = Utilities; sourceTree = ""; @@ -14384,6 +14387,7 @@ 04E36E2021AE585200783685 /* PennyTestSubmitWireframeInput.swift in Sources */, D90A9D5C2136942300A96E45 /* BankBranchPickerViewController.swift in Sources */, D922D9682135145F00D43053 /* SendMoneyParentWireframe.swift in Sources */, + 731703CC23221EA0005752DE /* SwipeNavigationController.swift in Sources */, 736A8C402277EB2A00337A50 /* BiometricNotificationModuleInterface.swift in Sources */, 73149F6422E5AF8000D66B26 /* LauncherScreenServiceType.swift in Sources */, 73071ACD2296CF9B008840FD /* HotLineViewInterface.swift in Sources */, diff --git a/GME Remit/Extensions/UIColor+Ext.swift b/GME Remit/Extensions/UIColor+Ext.swift index 540e2d66..87749b30 100644 --- a/GME Remit/Extensions/UIColor+Ext.swift +++ b/GME Remit/Extensions/UIColor+Ext.swift @@ -52,4 +52,8 @@ extension UIColor { class var themeBackgroundColor: UIColor { return .init(hex: "E7EDF2") } + + class var themeBackgroundGray: UIColor { + return UIColor.black.withAlphaComponent(0.5) + } } diff --git a/GME Remit/Extensions/UIViewController+Ext.swift b/GME Remit/Extensions/UIViewController+Ext.swift index 899acf57..cbf74cf2 100644 --- a/GME Remit/Extensions/UIViewController+Ext.swift +++ b/GME Remit/Extensions/UIViewController+Ext.swift @@ -267,14 +267,14 @@ extension UIViewController { } func showProgressHud( - backgroundColor: UIColor = .clear, + backgroundColor: UIColor = .themeBackgroundGray, loadingColor: UIColor = .themeRed, - textColor: UIColor = .themeTextColor + textColor: UIColor = .white ) { let activityData = ActivityData( size: CGSize(width: 50, height: 50), message: "loading_text".localized(), - messageFont: .sanfrancisco(.regular, size: 12), + messageFont: .sanfrancisco(.medium, size: 14), messageSpacing: 2, type: .lineScale, color: loadingColor, diff --git a/GME Remit/Modules/Home/User Interface/View/HomeViewController.swift b/GME Remit/Modules/Home/User Interface/View/HomeViewController.swift index d97ff5ce..19283e24 100644 --- a/GME Remit/Modules/Home/User Interface/View/HomeViewController.swift +++ b/GME Remit/Modules/Home/User Interface/View/HomeViewController.swift @@ -105,7 +105,6 @@ class HomeViewController: UIViewController { let supportImage = UIImage(named: "ic_support")?.withRenderingMode(.alwaysOriginal) supportBarButton.image = supportImage - } override func viewWillAppear(_ animated: Bool) { @@ -118,7 +117,7 @@ class HomeViewController: UIViewController { name: NSNotification.Name(LCLLanguageChangeNotification), object: nil ) - + setNavBar(isUseMenu: false) presenter?.viewIsReady() presenter?.fetchHotLines() } @@ -128,11 +127,12 @@ class HomeViewController: UIViewController { self.navigationItem.title = "" blobView.removeFromSuperview() MainWireframe.shared?.isUseSwipeGesture = false + navigationController?.interactivePopGestureRecognizer?.isEnabled = true } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) - + navigationController?.interactivePopGestureRecognizer?.isEnabled = false // if kyc is false then, if self.didNotSubmitKycAndNotVerified() { self.presenter?.showKyc() diff --git a/GME Remit/Modules/LauncherScreen/User Interface/Wireframe/LauncherScreenWireframe.swift b/GME Remit/Modules/LauncherScreen/User Interface/Wireframe/LauncherScreenWireframe.swift index 9288038f..f0f11d48 100644 --- a/GME Remit/Modules/LauncherScreen/User Interface/Wireframe/LauncherScreenWireframe.swift +++ b/GME Remit/Modules/LauncherScreen/User Interface/Wireframe/LauncherScreenWireframe.swift @@ -112,7 +112,7 @@ extension LauncherScreenWireframe: SecureKeypadDelegate { // MARK: - Other Methods extension LauncherScreenWireframe { private func doLogin() { - biometricViewController?.showProgressHud(loadingColor: .white, textColor: .white) + biometricViewController?.showProgressHud(backgroundColor: .clear, loadingColor: .white, textColor: .white) let loginService = LoginService() diff --git a/GME Remit/Modules/Main/User Interface/Wireframe/MainWireframe.swift b/GME Remit/Modules/Main/User Interface/Wireframe/MainWireframe.swift index 362d83f7..a49c8f27 100644 --- a/GME Remit/Modules/Main/User Interface/Wireframe/MainWireframe.swift +++ b/GME Remit/Modules/Main/User Interface/Wireframe/MainWireframe.swift @@ -35,16 +35,16 @@ extension MainWireframe: MainWireframeInput { private func getViewControllers() -> [UIViewController] { let homeViewController = HomeWireframe().getMainView() - let navHomeViewController = UINavigationController(rootViewController: homeViewController) + let navHomeViewController = SwipeNavigationController(rootViewController: homeViewController) navHomeViewController.hero.isEnabled = true let sendMoneyViewController = RecipientsWireframe().getMainView() sendMoneyViewController.setupTabItem() - let navSendMoneyViewController = UINavigationController(rootViewController: sendMoneyViewController) + let navSendMoneyViewController = SwipeNavigationController(rootViewController: sendMoneyViewController) navSendMoneyViewController.hero.isEnabled = true let contactsViewController = GmeContactsWireframe().getMainView() - let navContactsViewController = UINavigationController(rootViewController: contactsViewController) + let navContactsViewController = SwipeNavigationController(rootViewController: contactsViewController) guard let profileViewController = UIStoryboard(name: "Profile", bundle: nil) .instantiateViewController(withIdentifier: "ProfileViewController") as? ProfileViewController else { return [navHomeViewController, navSendMoneyViewController, navContactsViewController] @@ -52,7 +52,7 @@ extension MainWireframe: MainWireframeInput { profileViewController.setupTabItem() - let navProfileViewController = UINavigationController(rootViewController: profileViewController) + let navProfileViewController = SwipeNavigationController(rootViewController: profileViewController) return [ navHomeViewController, diff --git a/GME Remit/Modules/RecipientModules/Recipients/User Interface/View/Recipients.storyboard b/GME Remit/Modules/RecipientModules/Recipients/User Interface/View/Recipients.storyboard index 7a76091f..c4dd7143 100644 --- a/GME Remit/Modules/RecipientModules/Recipients/User Interface/View/Recipients.storyboard +++ b/GME Remit/Modules/RecipientModules/Recipients/User Interface/View/Recipients.storyboard @@ -84,7 +84,21 @@ + + + + + + + + + @@ -224,6 +238,7 @@ + diff --git a/GME Remit/Modules/RecipientModules/Recipients/User Interface/View/RecipientsViewController.swift b/GME Remit/Modules/RecipientModules/Recipients/User Interface/View/RecipientsViewController.swift index b04fbc6d..c069cff0 100644 --- a/GME Remit/Modules/RecipientModules/Recipients/User Interface/View/RecipientsViewController.swift +++ b/GME Remit/Modules/RecipientModules/Recipients/User Interface/View/RecipientsViewController.swift @@ -35,6 +35,8 @@ class RecipientsViewController: UIViewController { @IBOutlet private weak var viewAddRecipient: UIView! @IBOutlet private weak var labelSwipeInfo: UILabel! @IBOutlet private weak var newRecipeintLabel: UILabel! + @IBOutlet private weak var noRecipientLabel: UILabel! + @IBOutlet private var addRecipientTapGestureRecognizer: UITapGestureRecognizer! @IBOutlet private weak var searchBar: UISearchBar! @@ -80,10 +82,6 @@ extension RecipientsViewController { private func setup() { viewAddRecipient.hero.id = "setupRecipient" - - navigationController?.interactivePopGestureRecognizer?.delegate = self - navigationController?.interactivePopGestureRecognizer?.isEnabled = true - // all setup should be done here setBinding() tableView.separatorColor = .themeBorderColor @@ -125,10 +123,9 @@ extension RecipientsViewController { output .recipients - .map { $0.count == 0 } + .map { $0.count != 0 } .drive(onNext: { - self.searchBar.isHidden = $0 - self.labelSwipeInfo.isHidden = $0 + self.noRecipientLabel.isHidden = $0 }) .disposed(by: disposeBag) @@ -222,13 +219,3 @@ extension RecipientsViewController: UITableViewDelegate { return [delete, edit] } } - -// MARK: - UIGestureRecognizerDelegate -extension RecipientsViewController: UIGestureRecognizerDelegate { - func gestureRecognizer( - _ gestureRecognizer: UIGestureRecognizer, - shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer - ) -> Bool { - return true - } -} diff --git a/GME Remit/Modules/RegisterModules/PennyTestSubmit/User Interface/View/PennyTestSubmitViewController.swift b/GME Remit/Modules/RegisterModules/PennyTestSubmit/User Interface/View/PennyTestSubmitViewController.swift index 1af71f88..242b5954 100644 --- a/GME Remit/Modules/RegisterModules/PennyTestSubmit/User Interface/View/PennyTestSubmitViewController.swift +++ b/GME Remit/Modules/RegisterModules/PennyTestSubmit/User Interface/View/PennyTestSubmitViewController.swift @@ -250,7 +250,7 @@ class PennyTestSubmitViewController: UIViewController { return } - self.showLoading() + self.showProgressHud(backgroundColor: .clear, loadingColor: .white, textColor: .white) loginService.accessCode( userId: userID, diff --git a/GME Remit/Modules/RewardModules/DetailOrder/User Interface/View/DetailOrderViewController.swift b/GME Remit/Modules/RewardModules/DetailOrder/User Interface/View/DetailOrderViewController.swift index f686b812..a71c4479 100644 --- a/GME Remit/Modules/RewardModules/DetailOrder/User Interface/View/DetailOrderViewController.swift +++ b/GME Remit/Modules/RewardModules/DetailOrder/User Interface/View/DetailOrderViewController.swift @@ -17,7 +17,7 @@ class DetailOrderViewController: UIViewController { // MARK: Computed Properties private var order: Order? { - didSet{ + didSet { guard let order = order, let statusCode = order.orderStatus, @@ -34,7 +34,8 @@ class DetailOrderViewController: UIViewController { orderStatusLabel.text = status.message orderDateLabel.text = order.createdDate orderIDNumberLabel.text = order.orderID - orderTypeLabel.text = order.orderType == "9" ? "canceled_text".localized() : "pickup_from_branch_text".localized() + orderTypeLabel.text = order.orderType == "9" ? + "canceled_text".localized() : "pickup_from_branch_text".localized() switch order.orderStatus { case "9" : @@ -120,7 +121,7 @@ extension DetailOrderViewController { navigationController?.interactivePopGestureRecognizer?.isEnabled = true } - private func setMultiLanguage(){ + private func setMultiLanguage() { receiverNameTitleLabel.text = "receiver_text".localized() mobileNumberTitleLabel.text = "mobile_number_text".localized() pickupBranchTitleLabel.text = "pickup_banch_text".localized() @@ -135,7 +136,10 @@ extension DetailOrderViewController { // MARK: - UIGestureRecognizerDelegate extension DetailOrderViewController: UIGestureRecognizerDelegate { - func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool { + func gestureRecognizer( + _ gestureRecognizer: UIGestureRecognizer, + shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer + ) -> Bool { return true } } diff --git a/GME Remit/Modules/SideMenu/SideMenu.storyboard b/GME Remit/Modules/SideMenu/SideMenu.storyboard index c34cba66..7aba013f 100644 --- a/GME Remit/Modules/SideMenu/SideMenu.storyboard +++ b/GME Remit/Modules/SideMenu/SideMenu.storyboard @@ -142,9 +142,10 @@