如何使用相同的UIDatePicker分别获取2 UITextField中的日期和时间

时间:2011-11-24 22:58:29

标签: objective-c xcode datepicker uitextfield picker

我在iPad应用程序中工作,并且我在一个XIB中有一个Picker,我想使用相同的UIDataPicker来获取一个UITextField中的日期和另一个UITextField中的时间。

示例:

UItextField_1>在这里,我想只得到约会 UItextField_2>在这里,我只想得到时间

UIDatePicker>我想要这个选择器(只有一个)来获得两个值。

实现它的一些想法?

欢迎任何想法,非常感谢!

2 个答案:

答案 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];
}

[注意:这是未经测试的代码。这只是为了让你知道该怎么做]