【问题标题】:UIDatePicker in UIDatePickerModeCountDownTimer mode: how to get/set the hours and minutes via code?UIDatePickerModeCountDownTimer 模式下的 UIDatePicker:如何通过代码获取/设置小时和分钟?
【发布时间】:2010-03-13 16:09:20
【问题描述】:
如何在 UIDatePickerModeCountDownTimer 模式下通过代码从 UIDatePicker 获取/设置小时和分钟?
情况:
如何在 UIDatePickerModeCountDownTimer 模式下使用 UIDatePicker?
提前致谢。
【问题讨论】:
标签:
iphone
objective-c
uidatepicker
【解决方案1】:
当日期选择器模式设置为UIDatePickerModeCountDownTimer 时,您必须在UIDatePicker 中使用countDownDuration 属性。
倒计时持续时间以秒为单位,因此您可以从 NSDate 计算如下(要对其进行测试,只需将其放入任何 UIViewController 的 viewDidLoad 中):
// Create a new date with the current time
NSDate *date = [NSDate new];
// Split up the date components
NSDateComponents *time = [[NSCalendar currentCalendar]
components:NSHourCalendarUnit | NSMinuteCalendarUnit
fromDate:date];
NSInteger seconds = ([time hour] * 60 * 60) + ([time minute] * 60);
UIDatePicker *picker = [UIDatePicker new];
[picker setDatePickerMode:UIDatePickerModeCountDownTimer];
[picker setCountDownDuration:seconds];
[[self view] addSubview:picker];
因此,如果当前时间是 17:28,UIDatePicker 将显示“17 小时 28 分钟”。只需将 NSDate 替换为您从数据库中获得的 NSDate 即可:)