Objective c 格式化时间日期选择器并在文本字段中显示时间
我试图在文本字段中的日期选择器中显示时间。我已经走了这么远Objective c 格式化时间日期选择器并在文本字段中显示时间,objective-c,uitextfield,uidatepicker,Objective C,Uitextfield,Uidatepicker,我试图在文本字段中的日期选择器中显示时间。我已经走了这么远 UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(112, 88, 97, 30)]; textField.borderStyle = UITextBorderStyleRoundedRect; textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(112, 88, 97, 30)];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
textField.text=[NSString stringWithFormat:@"%@",[NSDate //what do I put here to put the datepicker time in the textfield]];
[self.view addSubview:textField];
UIDatePicker *datePicker = [[UIDatePicker alloc] init];
datePicker.datePickerMode = UIDatePickerModeDate;
[datePicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged];
datePicker.timeZone = [NSTimeZone defaultTimeZone];
datePicker.minuteInterval = 5;
datePicker.datePickerMode = UIDatePickerModeTime;
[textField setInputView:datePicker];
编辑
我没有任何变化,但在这里
-(void)datePickerValueChanged:(id)sender{
}
使用
NSDateFormatter
的stringFromDate:
方法如下:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle: NSDateFormatterShortStyle]; //Choose the appropriate style for your case
textField.text = [dateFormatter stringFromDate:datePicker.date];
您可以找到
NSDateFormatter
的文档,使用NSDateFormatter
的stringFromDate:
方法如下:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle: NSDateFormatterShortStyle]; //Choose the appropriate style for your case
textField.text = [dateFormatter stringFromDate:datePicker.date];
您可以找到
NSDateFormatter
.h文件的文档
@interface ViewController : UIViewController {
UITextField *textField;
UIDatePicker *dpDatePicker;
}
@end
- (void)viewDidLoad {
[super viewDidLoad];
textField = [[UITextField alloc] initWithFrame:CGRectMake(112, 88, 250, 30)];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
[self.view addSubview:textField];
dpDatePicker = [[UIDatePicker alloc] init];
dpDatePicker.datePickerMode = UIDatePickerModeDate;
[dpDatePicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged];
dpDatePicker.timeZone = [NSTimeZone defaultTimeZone];
dpDatePicker.minuteInterval = 5;
[textField setInputView:dpDatePicker];
}
.m文件
@interface ViewController : UIViewController {
UITextField *textField;
UIDatePicker *dpDatePicker;
}
@end
- (void)viewDidLoad {
[super viewDidLoad];
textField = [[UITextField alloc] initWithFrame:CGRectMake(112, 88, 250, 30)];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
[self.view addSubview:textField];
dpDatePicker = [[UIDatePicker alloc] init];
dpDatePicker.datePickerMode = UIDatePickerModeDate;
[dpDatePicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged];
dpDatePicker.timeZone = [NSTimeZone defaultTimeZone];
dpDatePicker.minuteInterval = 5;
[textField setInputView:dpDatePicker];
}
设置日期选择器值更改方法以显示用户选择的值。
- (void)datePickerValueChanged:(id)sender {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"h:mm a"];
textField.text = [dateFormatter stringFromDate:dpDatePicker.date];
}
.h文件
@interface ViewController : UIViewController {
UITextField *textField;
UIDatePicker *dpDatePicker;
}
@end
- (void)viewDidLoad {
[super viewDidLoad];
textField = [[UITextField alloc] initWithFrame:CGRectMake(112, 88, 250, 30)];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
[self.view addSubview:textField];
dpDatePicker = [[UIDatePicker alloc] init];
dpDatePicker.datePickerMode = UIDatePickerModeDate;
[dpDatePicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged];
dpDatePicker.timeZone = [NSTimeZone defaultTimeZone];
dpDatePicker.minuteInterval = 5;
[textField setInputView:dpDatePicker];
}
.m文件
@interface ViewController : UIViewController {
UITextField *textField;
UIDatePicker *dpDatePicker;
}
@end
- (void)viewDidLoad {
[super viewDidLoad];
textField = [[UITextField alloc] initWithFrame:CGRectMake(112, 88, 250, 30)];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
[self.view addSubview:textField];
dpDatePicker = [[UIDatePicker alloc] init];
dpDatePicker.datePickerMode = UIDatePickerModeDate;
[dpDatePicker addTarget:self action:@selector(datePickerValueChanged:) forControlEvents:UIControlEventValueChanged];
dpDatePicker.timeZone = [NSTimeZone defaultTimeZone];
dpDatePicker.minuteInterval = 5;
[textField setInputView:dpDatePicker];
}
设置日期选择器值更改方法以显示用户选择的值。
- (void)datePickerValueChanged:(id)sender {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"h:mm a"];
textField.text = [dateFormatter stringFromDate:dpDatePicker.date];
}
我试过了,文本字段没有改变。是否有一种方法需要更新文本字段?将上述代码放入
datePickerValueChanged:
方法中。您需要将您的textField
设置为属性。我尝试了此操作,但textField没有更改。是否有一种方法需要更新文本字段?将上述代码放入datePickerValueChanged:
方法中。您需要将您的textField
设置为属性。您可以显示datePickerValueChanged
方法吗?问题中更新为吗?您可以显示datePickerValueChanged
方法吗?问题中更新为吗