Observing change in UIDatePicker
You need to add to your UIDatePicker the UIControlEventValueChanged
event to handle date changes:
[myDatePicker addTarget:self action:@selector(dateIsChanged:) forControlEvents:UIControlEventValueChanged];
Then the implementation:
- (void)dateIsChanged:(id)sender{ NSLog(@"Date changed");}
Go to IB and drag from the UIDatePicker
to your .h file. Then select
Handle this however you want in your .m file; XCode will add the method below for you.
Swift 4.2 | Xcode 10.1
@objc func handleDatePicker(_ datePicker: UIDatePicker) { textField.text = datePicker.date.formatted}override func viewDidLoad() { super.viewDidLoad() datePicker.addTarget(self, action: #selector(handleDatePicker), for: .valueChanged)}
extension Date { static let formatter: DateFormatter = { let formatter = DateFormatter() formatter.dateFormat = "EEEE, dd MMM yyyy HH:mm:ss Z" return formatter }() var formatted: String { return Date.formatter.string(from: self) }}