Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone UIDatePickerModeCountDownTimer模式下的UIDatePicker:如何通过代码获取/设置小时和分钟?_Iphone_Objective C_Uidatepicker - Fatal编程技术网

Iphone UIDatePickerModeCountDownTimer模式下的UIDatePicker:如何通过代码获取/设置小时和分钟?

Iphone UIDatePickerModeCountDownTimer模式下的UIDatePicker:如何通过代码获取/设置小时和分钟?,iphone,objective-c,uidatepicker,Iphone,Objective C,Uidatepicker,如何在UIDatePickerModeCountDownTimer模式下通过代码从UIDatePicker获取/设置小时和分钟 情况: 我有一个界面,用户只需选择小时和分钟。然后,他保存信息(因此,我必须通过代码从UIDatePicker获取小时和分钟,以保存在数据库中) 当用户编辑之前保存的信息时,我想用保存的小时/分钟启动界面(因此,我必须通过代码使用DB中的值设置UIDatePicker小时和分钟) 如何在UIDatePickerModeCountDownTimer模式下使用UIDat

如何在UIDatePickerModeCountDownTimer模式下通过代码从UIDatePicker获取/设置小时和分钟

情况:

  • 我有一个界面,用户只需选择小时和分钟。然后,他保存信息(因此,我必须通过代码从UIDatePicker获取小时和分钟,以保存在数据库中)

  • 当用户编辑之前保存的信息时,我想用保存的小时/分钟启动界面(因此,我必须通过代码使用DB中的值设置UIDatePicker小时和分钟)

如何在UIDatePickerModeCountDownTimer模式下使用UIDatePicker实现这一点


提前感谢。

当日期选择器模式设置为
UIDatePickerModeCountDownTimer
时,您必须使用
UIDatePicker
中的
countDownDuration
属性

倒计时持续时间以秒为单位,因此您可以从NSDate计算如下(要测试它,只需将其放入任何
UIViewController
viewDidLoad
):

因此,如果当前时间为17:28,
UIDatePicker
将显示“17小时28分钟”。简单地将NSDate替换为您从数据库中获得的日期,您应该被排序:)

// 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];