首页 >> 大全

时间选择器UIDatePicker的使用

2023-10-31 大全 25 作者:考证青年

的介绍

这个类的对象让用户可以在多个车轮上选择日期和时间。手机上的‘时钟’应用程序中的时间与闹铃中便使用了该控件。使用这个控件时,如果你能配置正确,当用户滚动车轮到一个新的日期或者时间上时,利用触发事件。给出了倒计时模式,但是并没有实现相关事件。如果你使用该模式,必须在应用程序中设置一个对象,让倒计时中的时间不断减少。

的使用 创建并添加一个对象

UIDatePicker *datePicker = [ [ UIDatePicker alloc] initWithFrame:CGRectMake(0,0,320,216)];
[self.view addSubview: datePicker];

配置对象

1.日历属性

@property(nonatomic, copy) NSCalendar *calendar

相关说明:1.此属性的默认值对应于用户的当前日历,是在‘设置’这个应用程序中去设置的。

2.访问这个属性相当于调用类的方法后时返回的值。

3.设置这个属性的值为nil,相当于使用它的默认值。

4.属性指明了用于计算时间的文化细节,它指明了一年的开始和长度,一年中如何划分的方式。

2.日期属性

@property(nonatomic, strong) NSDate *date

相关说明:1.该属性的默认值是对象创建时的日期。

2.该属性会在日期模式下被忽略;在该模型中,日期选择器开始于0:00。

3.设置该属性可以让时间选择器旋转到这个设置的日期与时间,但是不会产生动画效果。

4.如果要产生动画效果,需要使用:: 方法。

3.本地化属性

@property(nonatomic, strong) NSLocale *locale

相关说明:1.默认值是类的属性返回的值,或者是是时间选择器的日历所使用的本地化值。

2.本地化属性封装了关于语言和文化的层面,如日期的格式信息方式。

3.如果设备的‘设置’应用程序中地区选择“中国”时,NSLog(@"%@",[ ].);返回的是@“zh_CN”。

4.在满足3的前提下,设置. = [[ alloc] fier:@"zh_CN"];是多余的。

4.设置时间的方法

- (void)setDate:(NSDate *)dateanimated:(BOOL)animated

相关说明:该方法用来设置一个新的时间并以动画的形式展示在时间选择器上面。(值为YES时,有动画)

时间选择器插件_前端时间选择器_

5.时区属性

@property(nonatomic, strong) NSTimeZone *timeZone

相关说明:默认值是nil,意味着它利用的是类的(本地时区)作为当前时区,或者是利用时间选择器的日历所使用的时区作为当前时区。

6.时间选择器的模式

@property(nonatomic) UIDatePickerMode datePickerMode

相关说明:1.这个属性指明以哪一种方式展示,只有时间、只有日期、既有日期又有时间、倒计时,这四种模式中的一种。

2.默认的模式为(既有日期又有时间)。

3.、、、。

7.最大显示时间属性

@property(nonatomic, strong) NSDate *maximumDate

相关说明:1.该属性值为对象,默认值是nil,nil意味着没有最大显示时间的约束。

2.该属性与最小显示时间属性()结合,表示一个有效的时间范围。

3.如果最小显示时间大于最大显示时间时,这两种性质都被忽略。

4.在倒计时模式()下,最小显示时间和最大显示时间这两个属性都会被忽略。

8.最小显示时间属性

@property(nonatomic, strong) NSDate *minimumDate

相关说明:1.该属性值为对象,默认值是nil,nil意味着没有最小显示时间的约束。

2.该属性与最大显示时间属性()结合,表示一个有效的时间范围。

3.如果最小显示时间大于最大显示时间时,这两种性质都被忽略。

4.在倒计时模式()下,最小显示时间和最大显示时间这两个属性都会被忽略。

9.间隔时间属性

@property(nonatomic) NSInteger minuteInterval

相关说明:1.使用该属性设置由分钟车轮显示的时间间隔。

2.间隔值必须均匀地分隔60,如果没有这样做,该属性将使用默认值为1。

3.该属性值的范围是大于等于1,并小于等于30。

10.倒计时秒数属性

@property(nonatomic) NSTimeInterval countDownDuration

相关说明:1.该属性设置倒计时需要倒计的秒数。

2.如果时间选择器的时间模式不是倒计时模式,则该属性会被忽略。

3.默认值是0.0,最大值为23:59(86399秒)。

获得时间数据 主动获取

直接通过访问时间选择器对象的date属性获得类型的时间数据:

NSDate *theDate = _datePicker.date;//该属性返回选中的时间
NSLog(@"%@",[theDate descriptionWithLocale:[NSLocale currentLocale]]);//返回基于本地化的时间信息,其中NSLocale的静态方法currentLocale返回当前的NSLocale对象NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];//返回一个日期格式对象
dateFormatter.dateFormat = @"YYYY-MM-dd HH-mm-ss";//该属性用于设置日期格式为YYYY-MM-dd HH-mm-ss
NSLog(@"%@",[dateFormatter stringFromDate:theDate]);//该方法用于从日期对象返回日期字符串

监听获取

由于日期选择器是 的子类,因此可以可以监听它的行为():

[ _datePicker addTarget:self action:@selector(dateChanged) forControlEvents:UIControlEventValueChanged];- (void)dateChanged
{NSDate *theDate = _datePicker.date;NSLog(@"%@",[theDate descriptionWithLocale:[NSLocale currentLocale]]);NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];dateFormatter.dateFormat = @"YYYY-MM-dd HH-mm-ss";NSLog(@"%@",[dateFormatter stringFromDate:theDate]);
}

相关介绍 四种时间模式的介绍

1.

_时间选择器插件_前端时间选择器

在这种模式下,显示时、分、AM/PM标志(可选)。具体的显示顺序取决于设备的本地化设置。

2.

时间选择器插件__前端时间选择器

在这种模式下,显示年、月、日。具体的显示顺序取决于设备的本地化设置。

3.

时间选择器插件_前端时间选择器_

在这种模式下,显示日期的月、日、星期,时间的时、分、AM/PM标志(可选)。具体的显示顺序取决于设备的本地化设置。

4.

前端时间选择器_时间选择器插件_

在这种模式下,显示时、分。应用程序必须实现一个计数器(对象),让倒计时中的时间不断减少。

Q&A

1、问题:在模式下,如何才能不显示“上午”/“下午”?

回答:设置本地化属性为系统本地化,并且在手机的“设置”--“通用”--“日期与时间”--选择“24小时制”。

_datePicker.locale = [NSLocale currentLocale];

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了