I have a text field in my UI that when it's selected presents a UIDatePicker instead of the default keyboard, how could I set up a button as to dismiss the picker when the user is done?
What I do is have my inputView as a custom view which contains a UIDatePicker
and a toolbar above it with a 'Done' button wired up to a method that calls a delegate method to tell the object that owns the UITextField
to dismiss the "keyboard" by calling resignFirstResponder
.
Create a UIView (namely customDatePickerView) and in that view ,create datepicker and a done button and a cancel button in the xib. In the textfield delegate:
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
if (textField == textfieldName) {
[textfieldName resignFirstResponder];
//show the view
self.customDatePickerView.hidden = NO;
}
}//dismisses keyboard
Function on Date Picker Value Changed
- (IBAction)onDatePickerClick:(id)sender {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"MM/dd/YYYY"];
NSDate *selectedDate = [self.wellRecordDatePicker date];
NSString *recordDate = [dateFormatter stringFromDate:selectedDate];
self.yourTextfieldName.text = recordDate;
}
- (IBAction)onDoneBtnClick:(id)sender
{
self.customDatePickerView.hidden = YES;
}
- (IBAction)onCancelBtnClick:(id)sender
{
self.customDatePickerView.hidden = YES;
}
Hope this will help you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With