How would you do that?
I have a form with a UITextField. When I click in it I would like to display a UIDatePicker instead of the default Keyboard that pops-up by default? Note that there are also other elements on my form.
For antd date picker, you need to set dispaly: none in ant-calendar-input-wrap class. Save this answer.
The Date Picker What's new in date picker though is that it comes with two new, additional display options: compact and inline. Both of them can display both date and time, or just either date or time.
DatePicker is a control used in iOS applications to get the date and time values from the user. We can allow the user to either enter the time in point or time interval. class UIDatePicker : UIControl.
I think this is a more official way to do this:
UIDatePicker *datePicker = [[[UIDatePicker alloc] init] autorelease]; datePicker.datePickerMode = UIDatePickerModeDate; [datePicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged]; datePicker.tag = indexPath.row; textField.inputView = datePicker;
in .h
UIDatePicker *datePicker; NSDate *date; UIToolbar *keyboardToolbar;
in ViewDidLoad:
if (keyboardToolbar == nil) { keyboardToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 44)]; [keyboardToolbar setBarStyle:UIBarStyleBlackTranslucent]; UIBarButtonItem *extraSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; UIBarButtonItem *accept = [[UIBarButtonItem alloc] initWithTitle:@"Accept" style:UIBarButtonItemStyleDone target:self action:@selector(closeKeyboard:)]; [keyboardToolbar setItems:[[NSArray alloc] initWithObjects: extraSpace, accept, nil]]; } self.txtDate.inputAccessoryView = keyboardToolbar; datePicker = [[UIDatePicker alloc] init]; datePicker.datePickerMode = UIDatePickerModeDate; [datePicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged]; self.txtDate.inputView = datePicker; - (void)datePickerValueChanged:(id)sender{ date = datePicker.date; NSDateFormatter *df = [[NSDateFormatter alloc] init]; [df setDateFormat:@"dd/MM/YYYY"]; [self.txtDate setText:[df stringFromDate:date]]; }
in storyboard add to txtDate -> EditingDidEnd
- (IBAction)establishHour:(id)sender{ hour = hourPicker.date; NSDateFormatter *hf = [[NSDateFormatter alloc] init]; [hf setDateFormat:@"HH:MM"]; [self.txtHour setText:[hf stringFromDate:hour]]; }
Sets the keyboard as DatePicker and created a toolbar with a button to accept the selection.
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