From b8e0ac1081c3b56178560f727032d28531b67b25 Mon Sep 17 00:00:00 2001 From: gme_2 Date: Mon, 1 Oct 2018 10:47:46 +0900 Subject: [PATCH] added datepicker view --- GMERemittance.xcodeproj/project.pbxproj | 8 + GMERemittance/.DS_Store | Bin 10244 -> 10244 bytes GMERemittance/Assets.xcassets/.DS_Store | Bin 0 -> 14340 bytes .../View/SplashScreenViewController.swift | 5 +- .../View/DatePickerViewController.swift | 71 ++++++++ .../TransactionHistoryDatePicker.storyboard | 154 ++++++++++++++++++ .../TransactionHistoryViewController.swift | 2 + 7 files changed, 237 insertions(+), 3 deletions(-) create mode 100644 GMERemittance/Assets.xcassets/.DS_Store create mode 100644 GMERemittance/Module/TransactionHistory/User Interface/View/DatePickerViewController.swift create mode 100644 GMERemittance/Module/TransactionHistory/User Interface/View/TransactionHistoryDatePicker.storyboard diff --git a/GMERemittance.xcodeproj/project.pbxproj b/GMERemittance.xcodeproj/project.pbxproj index bda21d7f..f3e9f58c 100644 --- a/GMERemittance.xcodeproj/project.pbxproj +++ b/GMERemittance.xcodeproj/project.pbxproj @@ -458,6 +458,8 @@ D99D72AA212D595B00601F48 /* CountryInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = D99D72A9212D595B00601F48 /* CountryInfo.swift */; }; D9B39677214F7DDC0072A9B8 /* ImageCroper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9B39675214F7DDC0072A9B8 /* ImageCroper.swift */; }; D9B39678214F7DDC0072A9B8 /* MultiMediaManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9B39676214F7DDC0072A9B8 /* MultiMediaManager.swift */; }; + D9B414402161AD2000A53D9D /* TransactionHistoryDatePicker.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D9B4143F2161AD2000A53D9D /* TransactionHistoryDatePicker.storyboard */; }; + D9B414422161AE2800A53D9D /* DatePickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9B414412161AE2800A53D9D /* DatePickerViewController.swift */; }; D9B7ADF02130048E009B0564 /* ExchangeRatesModuleInterface.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9B7ADDD2130048E009B0564 /* ExchangeRatesModuleInterface.swift */; }; D9B7ADF12130048E009B0564 /* ExchangeRatesService.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9B7ADE02130048E009B0564 /* ExchangeRatesService.swift */; }; D9B7ADF22130048E009B0564 /* ExchangeRatesServiceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9B7ADE12130048E009B0564 /* ExchangeRatesServiceType.swift */; }; @@ -978,6 +980,8 @@ D99D72A9212D595B00601F48 /* CountryInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CountryInfo.swift; sourceTree = ""; }; D9B39675214F7DDC0072A9B8 /* ImageCroper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ImageCroper.swift; sourceTree = ""; }; D9B39676214F7DDC0072A9B8 /* MultiMediaManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MultiMediaManager.swift; sourceTree = ""; }; + D9B4143F2161AD2000A53D9D /* TransactionHistoryDatePicker.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = TransactionHistoryDatePicker.storyboard; sourceTree = ""; }; + D9B414412161AE2800A53D9D /* DatePickerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatePickerViewController.swift; sourceTree = ""; }; D9B7ADDD2130048E009B0564 /* ExchangeRatesModuleInterface.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ExchangeRatesModuleInterface.swift; sourceTree = ""; }; D9B7ADE02130048E009B0564 /* ExchangeRatesService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ExchangeRatesService.swift; sourceTree = ""; }; D9B7ADE12130048E009B0564 /* ExchangeRatesServiceType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ExchangeRatesServiceType.swift; sourceTree = ""; }; @@ -3289,6 +3293,8 @@ D977859A215DC55E00754079 /* TransactionHistory.storyboard */, D977859B215DC55E00754079 /* TransactionHistoryViewController.swift */, D977859C215DC55E00754079 /* TransactionHistoryViewInterface.swift */, + D9B4143F2161AD2000A53D9D /* TransactionHistoryDatePicker.storyboard */, + D9B414412161AE2800A53D9D /* DatePickerViewController.swift */, ); path = View; sourceTree = ""; @@ -3599,6 +3605,7 @@ 049B6ED0203ADCF3003D6F62 /* gme-logo.png in Resources */, 040C814A20626A7D00989076 /* Reward.storyboard in Resources */, 5565FF201FE275E5002934E9 /* SanFranciscoDisplay-Ultralight.otf in Resources */, + D9B414402161AD2000A53D9D /* TransactionHistoryDatePicker.storyboard in Resources */, 5565FF2F1FE275E5002934E9 /* SanFranciscoDisplay-Thin.otf in Resources */, 5565FF1D1FE275E5002934E9 /* SanFranciscoDisplay-Heavy.otf in Resources */, 5565FF2A1FE275E5002934E9 /* SanFranciscoDisplay-Bold.otf in Resources */, @@ -3964,6 +3971,7 @@ D945F125213E1D5100A24824 /* SendMoneyReceiptViewInterface.swift in Sources */, 04BEF55E205948E8007713F9 /* RewardViewModel.swift in Sources */, D92B80262140C3CB00A25B26 /* MainService.swift in Sources */, + D9B414422161AE2800A53D9D /* DatePickerViewController.swift in Sources */, 0428DC682048FF91008355D7 /* WalletTransactionTableViewCell.swift in Sources */, 9F23DF512074A02B0025D6DF /* MyCollectionViewCell.swift in Sources */, A28D38F0202D49C90012EF6A /* TransactionSearchViewController.swift in Sources */, diff --git a/GMERemittance/.DS_Store b/GMERemittance/.DS_Store index 7167eed33dd9ea13be8f75b95fccfe04361e5973..9a044f5ead6f9a349a346e426300ff5db15f93f1 100644 GIT binary patch delta 516 zcmZn(XbG6$&uF|cU^hRb@njx>%aa!h$k%5kmlY)CvOFz!n#$jK}&F)+9%}Au1^)B@-_ooRpZHonDk*nwR37pOatYlvA1- zonDlg5?qj&oSBy%QIc9w5}a9;8ZRJ(rZgxuB@QZ757Zt~SpZZdf~Ls5C^aN$Y$`Z zVwlJrjD{G%#0WJ= q7D_`Y#+1qP1eAEnf{XHU^7GPxqKupG2nh0SW>@&dviZ3XGcy3TS&#q# delta 37 tcmZn(XbG6$&uF+YU^hRb;bb0x%bR}+@$qhKkYd`*uJDUxv$QxfGXVOy3?cvk diff --git a/GMERemittance/Assets.xcassets/.DS_Store b/GMERemittance/Assets.xcassets/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..57ada4efb27d247cd7cd0e00f3f0a8b026da98f2 GIT binary patch literal 14340 zcmeHOTW=dh6rRo1ZfKhp_r|4IR0tm0l0r)>@eY=>p$QT0T2BN{RzAyB;MfrW_IkEwcA;zLMmvt+MV@g&NpYiIdkUB*{u-5 zTk2L%39%rA$l+u;{}?Wx2~lKe9Q-@ap<@zHJe(DrxStoIEE=LI*2TxGjiK7Z4<_)4 z@>4ixMICa6d~?0hXc8H);#E}o{BL;-p5QJ!G6pgRG6pgRG6pgR#$|wOFOJ-tDzj_G zK*m7EK%W8nhaygvi*dQFO6fXqVF=H^GlZ81?isN2Surjb<8oV-_zMnCiK0}ZUcANd zlsKLj<9ds6xvfeiENw~yLE-oepF?~jD^6R~ttY=N1ESi%)q4{#Jgn=X1;bz#b!#$WxMh7h}A z%$CF;YYh>M;M$Zq5X(epKa?Z1igE)wxOzmEM#vNOQW@gp;<67nBA&_ zfttG)oCOx1W`TGqtcwxdG@igrhiTr&W6W@&PC1ab*T>(Xmg z$HFH2F0I#~IrSb3nWHfC#>i3VV$QapYvi^rj)H}v{YVG$Rj_(XT)~yAfQv=gsfDE1 z5^BR-un)Y|{`%oU!(K0mO zZ+vLP(Sjz47RjTj{n5Tu549VRZ$dWM>H0VOg2C?|aS2GRw5(dP1u4e}eZm)N7w4rPHim+R~o@q5WXE<^gBWH9xJakn+;S@_kQJSJ?NF^3+J0*$FGM$B=Ho+ z``7AWwb@&0cEf60){nvE{bj#X15WPP;`MDA^W}5-^8Df3x6hnCbG&%^-03^Vi?`37 zUBLazuiUwl&*hFhf8ol9-A}&w>g#X5{qFl;epQj87w@*jKJ~kQ{S9}iN#80(VWSyt zLWX#hW0(|&IPrivmkye+HCQv!)pJV2i4GgCRW}DS=cL!mRKn2dR%gF7jIn_Fg9S#t zmfD2Q4uj%!w{T|AqK~P~$sHwhr16<;?nYe(attKbl1!MAMTDGn*~3ja z9T~P=0up;m*U4p!)0^Q_O805uKkLAM2g@z_9it60p351G9~;>QHw+Ka6OM<~%5$k& z*+GBkoUN7$Xo;Le;xf*GwL2_`R&L?U2xHMoSPgW^mA1!1g&x4N^;wG0)n3xvMUNFfh zi|)V~t4VH6_dW?}>}wJuKn~4X`{ih<=$4LNWm~SI4B!^t!Zj3K8-q^E!q_c)sPaF& zw$am%aD^2lB*~Q7dI3>6^DsMDYAl?CG0qNLFnROLC1p39ANLIIoB_DBB=y=SGO!Qq zafiS?6D>C#kE0P(mZ9gIIponq(BB0yfC~9tk(qnsVrkXZIf;rKHwIEE!yOBy5ciwh zvFFUUu>WcJ``uVZbaYoTasX9o5LBC#%Pow*dJ z$K$-WkhCq-Ak8??ZB1nH2ZP0dE*fD2`Y@_-FeMZgW<+duND1J*( pl ())? + + var fromDate: Date? + var toDate: Date? + + let fromDatePicker = UIDatePicker() + let toDatePicker = UIDatePicker() + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + } + + + // IBActions + @IBAction func cancel(_ sender: Any) { + self.dismiss(animated: true, completion: nil) + } + + @IBAction func searcg(_ sender: UIButton) { + self.dismiss(animated: true, completion: { + self.completion?(self.fromDate, self.toDate) + }) + } + + + + // private functions + private func setupFromDatePicker() { + self.fromDatePicker.datePickerMode = .date + self.fromTextfield.inputView = fromDatePicker + fromDatePicker.maximumDate = Date() + self.fromDatePicker.addTarget(self, action: #selector(handleFromDatePicker(sender:)), for: .valueChanged) + } + + @objc private func handleFromDatePicker(sender: UIDatePicker) { + self.fromDate = sender.date + let dateFormatter = DateFormatter() + dateFormatter.dateFormat = AppConstants.dateFormat + self.fromTextfield.text = dateFormatter.string(from: sender.date) + } + + private func setupToDatePicker() { + self.toDatePicker.datePickerMode = .date + self.toTextfield.inputView = toDatePicker + toDatePicker.maximumDate = Date() + self.toDatePicker.addTarget(self, action: #selector(handleToDatePicker(sender:)), for: .valueChanged) + } + + @objc private func handleToDatePicker(sender: UIDatePicker) { + self.toDate = sender.date + let dateFormatter = DateFormatter() + dateFormatter.dateFormat = AppConstants.dateFormat + self.toTextfield.text = dateFormatter.string(from: sender.date) + } +} diff --git a/GMERemittance/Module/TransactionHistory/User Interface/View/TransactionHistoryDatePicker.storyboard b/GMERemittance/Module/TransactionHistory/User Interface/View/TransactionHistoryDatePicker.storyboard new file mode 100644 index 00000000..eb940eef --- /dev/null +++ b/GMERemittance/Module/TransactionHistory/User Interface/View/TransactionHistoryDatePicker.storyboard @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + SanFranciscoText-Regular + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GMERemittance/Module/TransactionHistory/User Interface/View/TransactionHistoryViewController.swift b/GMERemittance/Module/TransactionHistory/User Interface/View/TransactionHistoryViewController.swift index d4e1ccdb..5d6fd9d0 100644 --- a/GMERemittance/Module/TransactionHistory/User Interface/View/TransactionHistoryViewController.swift +++ b/GMERemittance/Module/TransactionHistory/User Interface/View/TransactionHistoryViewController.swift @@ -71,6 +71,8 @@ class TransactionHistoryViewController: UIViewController { // MARK: IBActions @IBAction func openSearchFilter(_ sender: UIButton) { // open search filter + let viewController = UIStoryboard.init(name: "TransactionHistoryDatePicker", bundle: nil).instantiateViewController(withIdentifier: "DatePickerViewController") as! DatePickerViewController + self.present(viewController, animated: true, completion: nil) } @IBAction func segmentChanged(_ sender: UISegmentedControl) {