我在一个页面上使用了四个textField。对于第一个和第二个textFields,我使用常规键盘。 第三个和第四个是时间值 - 我使用编程创建的DatePicker并通过IBAction方法中的textField.inputView设置它。
关键是我的DatePicker仅在第二次显示 - 而第一次调用常规键盘。
只发生一次 - 当我打开页面并第一次点击带有时间值的文本字段时。当我第二次点击这个文本字段时 - 它工作正常(我的日期选择器显示)
我该如何解决?
代码示例:
- (IBAction)wakeUpWeekdaysPressed:(id)sender {
UIDatePicker *timePicker = [[UIDatePicker alloc] init];
timePicker.datePickerMode = UIDatePickerModeTime;
UIToolbar* toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), 44)];
UIBarButtonItem* doneButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(weekdaysTimePickerDoneAction:)];
UIBarButtonItem* cancelButton = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(weekdaysTimePickerCancelAction:)];
UIBarButtonItem* flexibleSpace = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
[toolbar setItems:@[cancelButton, flexibleSpace, doneButton]];
// toolbar.barStyle = UIBarStyleBlackTranslucent;
toolbar.translucent = YES;
[_wakeUpTimeWeekdays setInputView:timePicker];
[_wakeUpTimeWeekdays setInputAccessoryView:toolbar];
}