我在视图中有一个textField,下面是一个选择器。
当用户从datePicker中选择日期时,我需要textField来显示日期的确切值。
如何从dateField获取日期?
答案 0 :(得分:4)
将DatePicker的value_changed事件设置为IBAction:
示例:
- (IBAction) dateChanged:(id)sender {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
self.currentTextField.text = [dateFormatter stringFromDate:[self.datePicker date]];
}
答案 1 :(得分:2)
您可以通过在连接检查器中将操作设置为UIDatePicker
事件来更新Value Changed
更改日期的方法,实现将值设置为textField的操作
- (IBAction)datePickerValueChanged:(id) sender{
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateStyle = NSDateFormatterMediumStyle;
self.textfield.text = [NSString stringWithFormat:@"%@",[df stringFromDate:datePicker.date]];
}
或者您可以将选择器添加到UIDatePicker
[datePicker addTarget:self action:@selector(updateMyDate:) forControlEvents:UIControlEventEditingChanged];
答案 2 :(得分:1)
UIDatePicker
具有date
属性。您可以通过此媒体资源访问NSDate
。
然后,您可能需要使用NSDateFormatter
从NSString
创建NSDate
,并能够在UITextField
中显示它。
以最直接的方式,您的代码应如下所示:
myTextField.text = [myDateFormatter stringFromDate:myDatePicker.date];
答案 3 :(得分:0)
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateFormat = "dd-MMMM-yyyy hh:mm a"
//To show date in textfield
myTextField.text = [df stringFromDate:datePicker.date];
//To show selected date on datepicker from textfield
datePicker.date = df.dateFromString(myTextField.text)