Browse Source

gender picker added

pull/1/head
gme_2 6 years ago
parent
commit
dba33bcefe
  1. 75
      GMERemittance/Module/New Group/kycForm1/User Interface/View/kycForm1ViewController.swift

75
GMERemittance/Module/New Group/kycForm1/User Interface/View/kycForm1ViewController.swift

@ -42,6 +42,10 @@ class KycForm1ViewController: UIViewController {
struct Constants {
static let segmentBackgroundViewColor = UIColor.init(hex: "E7EDF2")
static let stateRedColor = UIColor.init(hex: "#EC1C24")
static let male = "Male"
static let female = "Female"
static let other = "Other"
static let cancelTitleString = "Cancel"
}
// MARK: IBOutlets
@ -77,6 +81,7 @@ class KycForm1ViewController: UIViewController {
var presenter: KycForm1ModuleInterface?
var kycModel: kycForm1Model = kycForm1Model()
let datePicker = UIDatePicker()
var errorTextFieldDict: [String: UITextField] = [:]
var errorLabelsDict: [String: UILabel] = [:]
@ -117,6 +122,7 @@ class KycForm1ViewController: UIViewController {
setupErrorLabels()
setupErrorTextFields()
setupDelegates()
self.setupDatePicker()
}
private func setupDelegates() {
@ -133,6 +139,47 @@ class KycForm1ViewController: UIViewController {
self.provinceTextField.delegate = self
}
private func setupDatePicker() {
self.datePicker.datePickerMode = .date
self.dobTextField.inputView = datePicker
datePicker.maximumDate = Date()
self.datePicker.addTarget(self, action: #selector(handleDatePicker(sender:)), for: .valueChanged)
}
@objc private func handleDatePicker(sender: UIDatePicker) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
self.dobTextField.text = dateFormatter.string(from: sender.date)
}
private func showGenderPicker() {
let alertcontroller = UIAlertController.init(title: "Gender", message: nil, preferredStyle: .actionSheet)
alertcontroller.view.tintColor = UIColor.init(hex: "#7b7a7a")
let maleAction = UIAlertAction(title: Constants.male, style: .default, handler: { _ in
self.genderTextField.text = Constants.male
})
let femaleAction = UIAlertAction(title: Constants.female, style: .default, handler: { _ in
self.genderTextField.text = Constants.female
})
let otherAction = UIAlertAction(title: Constants.other, style: .default, handler: { _ in
self.genderTextField.text = Constants.other
})
let cancelAction = UIAlertAction(title: Constants.cancelTitleString, style: .cancel, handler: nil)
alertcontroller.addAction(maleAction)
alertcontroller.addAction(femaleAction)
alertcontroller.addAction(otherAction)
alertcontroller.addAction(cancelAction)
self.present(alertcontroller, animated: true, completion: nil)
}
private func validate() {
self.presenter?.validate(model: self.kycModel)
}
@ -220,7 +267,33 @@ extension KycForm1ViewController: IndicatorInfoProvider {
}
}
extension KycForm1ViewController: UITextFieldDelegate {
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
switch textField {
case genderTextField:
self.genderErrorLabel.isHidden = true
genderTextField.layer.borderWidth = 0
self.showGenderPicker()
return false
case nativeCountryTextField:
self.nativeCountryErrorLabel.isHidden = true
nativeCountryTextField.layer.borderWidth = 0
return false
case provinceTextField:
self.provinceErrorLabel.isHidden = true
provinceTextField.layer.borderWidth = 0
return false
case occupationTextField:
self.occupationErrorLabel.isHidden = true
occupationTextField.layer.borderWidth = 0
return false
default:
return true
}
}
func textFieldDidBeginEditing(_ textField: UITextField) {
switch textField {
case firstNameTextField:
@ -261,3 +334,5 @@ extension KycForm1ViewController: UITextFieldDelegate {
}
}
}
Loading…
Cancel
Save