使用UIDatePicker
阅读原文时间:2023年07月16日阅读:2

用官方文档的话来说,UIDatePicker就是使用多个滚轮来选择日期和时间的类。官方的示例有定时器,闹钟(设置时间)部件。正确设置后,UIDatePicker对象会在用户在滚动时间轮轴后向发送一个action消息;相应的control事件为UIControlEventValueChanged。UIDatePicker也可表示为一个到时计数器,不过需要在程序中设定一个NSTimer对象,在计数时更新其秒数。

UIDatePicker没有继承自UIPickerView,但是它控制着一个自定义的UIPickerView子视图。

UIDatePicker继承自UIControl。

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

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章