【发布时间】:2018-05-17 06:36:09
【问题描述】:
我想在标签上选择 UIDatePickerView 的行时显示当前日期,我的问题是当我打开日期选择器时,在选择行时标签上没有显示任何内容,但是当我移动日期选择器视图时, 它开始更新我的标签,我无法修复它。每当我触摸日期选择器视图行时,我都想显示日期。我什至还添加了 TouchUpInside 行方法,但它仍然不起作用
这是我的代码 sn-p:
- (IBAction)btn_calendar_event:(id)sender {
// ADD UIDatePicker and open it
if (self.picker) {
[self.toolbar removeFromSuperview];
[self.picker removeFromSuperview];
}
[self hideKeyboard];
self.picker = [[UIDatePicker alloc] init];
self.picker.backgroundColor = [UIColor whiteColor];
[self.picker setValue:[UIColor blackColor] forKey:@"textColor"];
self.picker.autoresizingMask = UIViewAutoresizingFlexibleWidth;
self.picker.datePickerMode = UIDatePickerModeDate;
forControlEvents:UIControlEventValueChanged];
[self.picker addTarget:self action:@selector(dueDateChanged:)forControlEvents:UIControlEventTouchUpInside]; [self.picker addTarget:self action:@selector(dueDateChanged:) forControlEvents:UIControlEventValueChanged]; }
// dueDateChanged method
-(void) dueDateChanged:(UIDatePicker *)sender {
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"YYYY-MM-dd"];
NSLog(@"Picked the date %@", [dateFormatter stringFromDate:[sender date]]);
_txtf_birthDate.text = [dateFormatter stringFromDate:[sender date]];
}
// Done button Action
-(void)onDoneButtonClick {
[self dueDateChanged : self.picker];
[self.toolbar removeFromSuperview];
[self.picker removeFromSuperview];
}
【问题讨论】:
标签: ios objective-c uidatepicker