I have a single UIDatePicker
variable that has only the time. I want that to be able to set different times to different TextFields
. The way I have it set up is that when I change one time, they all change.
Code:
*@IBOutlets for all the UITextFields...*
private var datePicker = UIDatePicker()
override func viewDidLoad() {
super.viewDidLoad()
self.setupDatePicker()
self.setupTextFields()
}
func setupDatePicker() {
self.datePicker.frame = CGRect(x: 0, y: 50, width: self.view.frame.width, height: 200)
self.datePicker.timeZone = NSTimeZone.local
self.datePicker.datePickerMode = .time
self.datePicker.minuteInterval = 30
self.datePicker.backgroundColor = .white
self.datePicker.addTarget(self, action: #selector(self.timeValueChanged(_:)), for: .valueChanged)
}
func setupTextFields() {
self.mondayOpenTF.inputView = self.datePicker
self.mondayCloseTF.inputView = self.datePicker
self.tuesdayOpenTF.inputView = self.datePicker
self.tuesdayCloseTF.inputView = self.datePicker
self.wednesdayOpenTF.inputView = self.datePicker
self.wednesdayCloseTF.inputView = self.datePicker
self.thursdayOpenTF.inputView = self.datePicker
self.thursdayCloseTF.inputView = self.datePicker
self.fridayOpenTF.inputView = self.datePicker
self.fridayCloseTF.inputView = self.datePicker
self.saturdayOpenTF.inputView = self.datePicker
self.saturdayCloseTF.inputView = self.datePicker
self.sundayOpenTF.inputView = self.datePicker
self.sundayCloseTF.inputView = self.datePicker
}
@objc
func timeValueChanged(_ sender: UIDatePicker) {
let dateFormatter: DateFormatter = DateFormatter()
dateFormatter.dateFormat = "h:mm a"
let date: String = dateFormatter.string(from: sender.date)
self.mondayOpenTF.text = date as String
self.mondayCloseTF.text = date as String
self.tuesdayOpenTF.text = date as String
self.tuesdayCloseTF.text = date as String
self.wednesdayOpenTF.text = date as String
self.wednesdayCloseTF.text = date as String
self.thursdayOpenTF.text = date as String
self.thursdayCloseTF.text = date as String
self.fridayOpenTF.text = date as String
self.fridayCloseTF.text = date as String
self.saturdayOpenTF.text = date as String
self.saturdayCloseTF.text = date as String
self.sundayOpenTF.text = date as String
self.sundayCloseTF.text = date as String
}
Is it possible to have one UIDatePicker
to manage all the times seperately, or do I have to create 14 different ones to fill for each textfield?