什么是UIDatePicker
用官方文档的话来说,UIDatePicker就是使用多个滚轮来选择日期和时间的类。官方的示例有定时器,闹钟(设置时间)部件。正确设置后,UIDatePicker对象会在用户在滚动时间轮轴后向发送一个action消息;相应的control事件为UIControlEventValueChanged。UIDatePicker也可表示为一个到时计数器,不过需要在程序中设定一个NSTimer对象,在计数时更新其秒数。
UIDatePicker没有继承自UIPickerView,但是它控制着一个自定义的UIPickerView子视图。
UIDatePicker继承自UIControl。
怎么使用UIDatePicker
1.初始化
UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 44, 320, 216)];
2.设置模式
typedef NS_ENUM(NSInteger, UIDatePickerMode) {
UIDatePickerModeTime,
UIDatePickerModeDate,
UIDatePickerModeDateAndTime,
UIDatePickerModeCountDownTimer
};
UIDatePicker的模式有四种。
UIDatePickerModeTime即三个滚轮,分别为小时,分钟,上、下午。
UIDatePickerModeDate也是三个滚轮,分别为年,月,日。
UIDatePickerModeDateAndTime有四个滚轮,分别为日期(显示星期),小时,分钟,上、下午。
UIDatePickerModeCountDownTimer有两个滚轮,分别为小时,分钟。
3.设置时间
可以分别设置最大时间,最小时间,以及当前UIDatePicker选中的日期(类型为NSDate)。
datePicker.minimumDate = minDate;//设置最小时间
datePicker.maximumDate = maxDate;//设置最大范围
datePicker.date = selectedDate;//设置选中日期
4.发送消息
可以设置UIDatePicker日期更改时发送消息。
[datePicker addTarget:self action:@selector(dateChanged:) forControlEvents:UIControlEventValueChanged];
这样设置target为:self,action为:@selector(dateChanged:),即当日期更改时,会向当前控制器发送dateChanged的消息。
当前控制器的方法为:
-(void)dateChanged:(id)sender
{
UIDatePicker *datePicker = (UIDatePicker *)sender;//获取UIDatePicker
NSDate *date = datePicker.date;//获取UIDatePicker的时间
}
来自:http://www.wetyped.com/archives/42