You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// // DatePickerViewController.swift // GMERemittance // // Created by gme_2 on 01/10/2018. // Copyright © 2018 Gobal Money Express Co. Ltd. All rights reserved. //
import UIKit
class DatePickerViewController: UIViewController { @IBOutlet weak var fromTextfield: UITextField! @IBOutlet weak var toTextfield: UITextField! @IBOutlet weak var fromTitleLabel: UILabel! @IBOutlet weak var toTitleLabel: UILabel! @IBOutlet weak var cancelButton: UIButton! @IBOutlet weak var searchButton: UIButton! struct StringConstants { let fromPlaceholderText = "placeholder_from_text".localized() let toPlaceholderText = "placeholder_to_text".localized() let cancelButtonText = "cancel_text".localized() let searchButtonText = "search_text".localized() }
var completion: ((_ from: String?, _ to: String?) -> ())? var fromDate: String? var toDate: String? var _fromDate: Date? { didSet { self.toDatePicker.minimumDate = _fromDate self.toDatePicker.maximumDate = Date() } } var _toDate: Date? let fromDatePicker = UIDatePicker() let toDatePicker = UIDatePicker() override func viewDidLoad() { super.viewDidLoad()
setup() }
// IBActions @IBAction func cancel(_ sender: Any) { self.view.endEditing(true) self.dismiss(animated: true, completion: nil) } @IBAction func searcg(_ sender: UIButton) { self.view.endEditing(true) self.dismiss(animated: true, completion: { self.completion?(self.fromDate, self.toDate) }) } // private functions private func setup() { self.setupToDatePicker() self.setupFromDatePicker() self.fromDatePicker.date = Date() self.handleFromDatePicker(sender: fromDatePicker) configureLanguage() // Do any additional setup after loading the view. } func configureLanguage() { self.fromTitleLabel.text = StringConstants().fromPlaceholderText self.toTitleLabel.text = StringConstants().toPlaceholderText self.fromTextfield.text = StringConstants().fromPlaceholderText self.toTextfield.text = StringConstants().toPlaceholderText self.cancelButton.setTitle(StringConstants().cancelButtonText, for: UIControlState.normal) self.searchButton.setTitle(StringConstants().searchButtonText, for: UIControlState.normal) } 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 let date = dateFormatter.string(from: sender.date) self.fromTextfield.text = date self.fromDate = date } private func setupToDatePicker() { self.toDatePicker.datePickerMode = .date self.toTextfield.inputView = toDatePicker toDatePicker.maximumDate = self._fromDate 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 let date = dateFormatter.string(from: sender.date) self.toTextfield.text = date self.toDate = date } }
|