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

 

 

 

 
 
posted @ 2014-10-10 11:10  safiri  阅读(2993)  评论(0编辑  收藏  举报