【发布时间】:2015-11-03 11:11:36
【问题描述】:
我一直在使用大量教程和stackoverflow 答案将其拼凑在一起。我有一个UITextField,当用户点击它时,它会向上滑动UIDatePicker(而不是键盘)。关闭日期选择器后,TextField 应更新为所选日期。
但是,无论您将其更改为什么,它都只有当前的日期/时间。我错过了什么?我也希望它格式化为 MM / dd / yyyy。
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
//birthday view
UIDatePicker *datePicker = [[UIDatePicker alloc] init];
UIToolbar *doneBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), 44)];
datePicker.datePickerMode = UIDatePickerModeDate;
[datePicker addTarget:self action:@selector(updateTextField:) forControlEvents:UIControlEventValueChanged];
_birthdayField.inputView = datePicker;
[_birthdayField setInputAccessoryView:doneBar];
[doneBar setBarStyle:UIBarStyleDefault];
UIBarButtonItem *spacer = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:nil
action:nil];
[doneBar setItems: [NSArray arrayWithObjects:spacer, [[UIBarButtonItem alloc]
initWithTitle:@"Done"
style:UIBarButtonItemStyleDone
target:self
action:@selector(datePickerDone:)],nil ] animated:YES];
}
- (IBAction)datePickerDone:(id)sender {
[_birthdayField resignFirstResponder];
}
-(void)updateTextField:(id)sender {
if([_birthdayField isFirstResponder]) {
UIDatePicker *picker = (UIDatePicker*)_birthdayField.inputView;
_birthdayField.text = [NSString stringWithFormat:@"%@", picker.date];
}
}
我认为这是我在 updateTextField 中缺少的东西。
【问题讨论】:
标签: ios objective-c xcode uitextfield uidatepicker