UI: UIDatePicker 来进行日期和时间的选择
在程序中给用户供一个体验很好的页面用来选择日期和时间。
//UIDatePicker _myDatePicker = [[UIDatePicker alloc]init]; _myDatePicker.center = self.view.center; [_myDatePicker addTarget:self action:@selector(datePickerDateChanged:) forControlEvents:UIControlEventValueChanged]; [self.view addSubview:_myDatePicker];
Date picker 为我们提供了不同的 styles 和模式。可以通过 datePickerMode 属性修改相关模式,下面是 UIDatePickerMode 的类型:
typedef NS_ENUM(NSInteger, UIDatePickerMode) {
UIDatePickerModeTime, 时 分 上下午
UIDatePickerModeDate, 年月日
UIDatePickerModeDateAndTime,
UIDatePickerModeCountDownTimer, 小时和分钟
};
[_myDatePicker setDatePickerMode:UIDatePickerModeDateAndTime]; //如何能够取到当前的这个时间值,参考如下代码 NSDate *currentDate = _myDatePicker.date; NSLog(@"Date = %@",currentDate);
当date picker的值发生变化时,会发送一个action消息到它的target 去。为了响应这个消息,接收者需要使用 addTarget:action:forControllEvents:方法将其添加为 date picker 的 target,如下所示:
- (void)datePickerDateChanged:(UIDatePicker *)paramDatePicker{ if ([paramDatePicker isEqual:_myDatePicker]) { NSLog(@"Selected date = %@",paramDatePicker.date); } }
可以设置 date picker 能够显示的最小和最大时间。首先将 date picker 的模式设置为UIDatePickerModeDate,然后设置 maximumDate 和 minimumDate 的范围: 我们能够限制用户所能选择的时间范围.
设置时间选择器的模式为 UIDatePickerModeCountDownTimer。 例如,如果你想展现一个倒计时的功能,然后你设置一个倒计时的起始时间,你需要按照如下代码来实现
NSTimeInterval twoMinutes = 2 *60; [_myDatePicker setCountDownDuration:twoMinutes];