我在iPad应用程序中工作,并且我在一个XIB中有一个Picker,我想使用相同的UIDataPicker来获取一个UITextField中的日期和另一个UITextField中的时间。
示例:
UItextField_1>在这里,我想只得到约会 UItextField_2>在这里,我只想得到时间
UIDatePicker>我想要这个选择器(只有一个)来获得两个值。
实现它的一些想法?
欢迎任何想法,非常感谢!
答案 0 :(得分:2)
你只需要从UIDataPicker获取日期并使用NSDateFormatter来分隔值ex
-(IBAction) endDate{
//gets date only 01/01/2011
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateStyle = kCFDateFormatterShortStyle;
NSLog(@"%@",[df stringFromDate:endByDatePicker.date]);
//gets time h:mm
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat:@"h:mm"];
NSLog(@"%@",[outputFormatter stringFromDate:self.endByDatePicker.date]);
}
答案 1 :(得分:2)
您可以在viewDidLoad方法中使用UIControlEventValueChanged设置事件侦听器。
[datePicker addTarget:self action:@selector(action:forEvent:) forControlEvents:UIControlEventValueChanged];
然后在那个处理程序中你可以这样做:
- (void)action:(id)sender forEvent:(UIEvent *)event {
// Date
dateTextField1.text = [NSDateFormatter localizedStringFromDate:[datePicker date] dateStyle:kCFDateFormatterShortStyle timeStyle:kCFDateFormatterNoStyle];
// Time
dateTextField2.text = [NSDateFormatter localizedStringFromDate:[datePicker date] dateStyle:kCFDateFormatterNoStyle timeStyle:kCFDateFormatterShortStyle];
}
[注意:这是未经测试的代码。这只是为了让你知道该怎么做]