使用UIDatePicker来选取日期和时间
问题
你想要给予用户一个选择时间的界面
解决方案
使用UIDatePicker
讨论
-
我们想要展示一个像以下的界面给用户,当用户选择一个时间的时候我们可以得到用户选择的时间
-
初始化控件,将空间置于屏幕中间
self.myUIDatePicker = [[UIDatePicker alloc]init];
self.myUIDatePicker.center = self.view.center;
[self.view addSubview:self.myUIDatePicker];
- 为控件添加监听事件
[self.myUIDatePicker addTarget:self action:@selector(datePickerChange:) forControlEvents:UIControlEventValueChanged];
- (void)datePickerChange:(UIDatePicker *)paramPicker{
NSLog(@"Selected date = %@", paramPicker.date);
}
添加上面的监听事件可以在UIDatePicker停止滚动的时候获得当前值, 或者你也可以通过UIDatePicker的属性获得UIDatePicker当前的时间
NSDate *currentDate = self.myUIDatePicker.date;
NSLog(@"Date = %@", currentDate);
-
设置UIDatePicker的几种模式
-
UIDatePickerModeTime
-
UIDatePickerModeDate
-
UIDatePickerModeDateAndTime
-
UIDatePickerModeCountDownTimer
-
- 设置UIDataPicker的时间间隔
你可以通过设置UIDataPicker的minimumDate和maximumDate来设置UIDataPicker的允许选择的最大最小值
NSTimeInterval oneYearInterval = 365 * 24 * 60 * 60;
NSDate *today = [NSDate date];
NSDate *oneYearFromToday = [today dateByAddingTimeInterval:oneYearInterval];
NSDate *twoYearFromToday = [today dateByAddingTimeInterval:oneYearInterval * 2];
self.myUIDatePicker.minimumDate = oneYearFromToday;
self.myUIDatePicker.maximumDate = twoYearFromToday;
self.myUIDatePicker.datePickerMode = UIDatePickerModeTime;
那么如何设置倒数的时间呢?你可以通过设置UIDataPicker的倒数时长来做到这点。
NSTimeInterval minuteInterval = 60 * 3;
[self.myUIDatePicker setCountDownDuration:minuteInterval];
- 设置UIDatePicker的当前时间
只需设置UIDatePicker的属性即可
self.myUIDatePicker.date = [NSDate date];