如何在UIDatePickerModeCountDownTimer模式下获取UIDatePicker的时间间隔?

时间:2010-01-02 16:33:44

标签: iphone

我有UIViewControllerUIDatePicker datePicker属性。我已在Interface Builder中将其配置为在“Timer”模式下具有UIDatePicker,并在“Value Changed”事件发生时让它调用视图控制器的datePickerValueDidChange:方法。视图控制器中的代码如下所示:

- (void) viewWillAppear:(BOOL)animated {
  NSLog(@"datePicker: %@", datePicker);
  NSLog(@"datePicker.datePickerMode: %d", datePicker.datePickerMode);
}

加载视图时,您会在日志中看到这一点

datePicker: <UIDatePicker: 0x3b03660; frame = (0 61; 320 216); clipsToBounds = YES; opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x3b033a0>>
datePicker.datePickerMode: 3

这意味着日期选择器已初始化,模式为UIDatePickerModeCountDownTimer。当我通过移动其中一个滚轮来更改值时,它会调用此方法:

- (IBAction) datePickerValueDidChange:(id)sender {
  NSLog(@"datePicker.countDownDuration: %@", datePicker.countDownDuration);
}

日志中的输出是:

datePicker.countDownDuration: (null)

为什么它为空?这不是获取用户选择的小时/分钟值的方法吗?如果没有,你怎么能得到这些价值?

1 个答案:

答案 0 :(得分:2)

countDownDuration是一个NSTimeInterval(实际上是一个双精度数)。要打印出来,您需要使用

NSLog(@"datePicker.countDownDuration: %f", datePicker.countDownDuration);