Reputation: 133
I have two separate text fields that both use a date picker to select a date, however, when I edit one, both display the same date. How do I separate the two so that each has its own date picker?
@IBOutlet weak var dateField1: UITextField!
@IBOutlet weak var dateField2: UITextField!
let dateFormat: NSDateFormatter = NSDateFormatter()
let datePicker: UIDatePicker = UIDatePicker()
let dateFormat2: NSDateFormatter = NSDateFormatter()
let datePicker2: UIDatePicker = UIDatePicker()
override func viewDidLoad() {
super.viewDidLoad()
dateFormat.dateStyle = NSDateFormatterStyle.ShortStyle
dateFormat.timeStyle = NSDateFormatterStyle.ShortStyle
datePicker.datePickerMode = UIDatePickerMode.DateAndTime
datePicker.addTarget(self, action: Selector("updateDateField:"), forControlEvents:UIControlEvents.ValueChanged)
dateField.inputView = datePicker
dateFormat2.dateStyle = NSDateFormatterStyle.ShortStyle
dateFormat2.timeStyle = NSDateFormatterStyle.ShortStyle
datePicker2.datePickerMode = UIDatePickerMode.DateAndTime
datePicker2.addTarget(self, action: Selector("updateDateField:"), forControlEvents:UIControlEvents.ValueChanged)
delivery.inputView = datePicker2
// Do any additional setup after loading the view.
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.toolbarHidden = false
self.tabBarController?.tabBar.hidden = true
}
func updateDateField(sender: UIDatePicker) {
dateField.text = dateFormat.stringFromDate(sender.date)
delivery.text = dateFormat2.stringFromDate(sender.date)
}
Upvotes: 0
Views: 3170
Reputation: 2654
Please check below code -
func updateDateField(sender: UIDatePicker) {
if sender == datePicker
{
dateField.text = dateFormat.stringFromDate(sender.date)
}
if sender == datePicker2
{
delivery.text = dateFormat2.stringFromDate(sender.date)
}
}
Upvotes: 3