iOS开发中UIDatePicker控件的使用方法简介
ios上的选择时间日期的控件是这样的,左边是时间和日期混合,右边是单纯的日期模式。
您可以选择自己需要的模式,time, date,date and time , count down timer四种模式。
本篇文章简单介绍下pickerdate控件的使用
1、新建一个singe view application,命名为datepickdemo,其他设置如图
2、放置控件
打开viewcontroller.xib,拖拽一个datepicker控件放到界面上,再拖拽一个button控件放到界面上,双击button,输入"选择日期时间"
3、建立xib和viewcontroller的关联
按下command+alt+enter键打开assistant editor,选中datepicker按住control键,拖拽到viewcontroller.h上,
建立outlet datepicker。
以同样方式给button建立一个action关联映射,命名为selectdate,事件类型为默认的touch up inside。
4、实现代码
单击viewcontroller.m,找到刚才创建的
- (ibaction)selectdate:(id)sender {
}
在这里添加响应代码
- (ibaction)selectdate:(id)sender {
nsdate *select = [datepicker date];
nsdateformatter *dateformatter = [[nsdateformatter alloc] init];
[dateformatter setdateformat:@"yyyy-mm-dd hh:mm"];
nsstring *dateandtime = [dateformatter stringfromdate:select];
uialertview *alert = [[uialertview alloc] initwithtitle:@"时间提示" message:dateandtime delegate:self cancelbuttontitle:@"确定" otherbuttontitles:nil, nil];
[alert show];
}
运行看效果:
5、修改模式成date模式,修改代码
[dateformatter setdateformat:@"yyyy-mm-dd"];
常用参数
上面已经提到了一些常用参数的使用,下面再来列一下比较常用的几个:
1.locale
设置datepicker的地区,即设置datepicker显示的语言。
跟踪所有可用的地区,取出想要的地区
nslog(@"%@", [nslocale availablelocaleidentifiers]);
2. 设置日期选择控件的地区
[datepicker setlocale:[[nslocale alloc]initwithlocaleidentifier:@"zh_hans_cn"]];
[datepicker setlocale:[[nslocale alloc]initwithlocaleidentifier:@"en_sc"]];
calendar
设置datepicker的日历。
默认为当天。
[datepicker setcalendar:[nscalendar currentcalendar]];
3.timezone
设置datepicker的时区。
默认为设置为:
4.date
设置datepicker的日期。
默认设置为:
5.minimumdate
设置datepicker的允许的最小日期。
6.maximumdate
设置datepicker的允许的最大日期。
7.countdownduration
设置datepicker的倒计时间.
1) 设置日期选择的模
[self.datepicker setdatepickermode:uidatepickermodecountdowntimer];
2) 设置倒计时的时长
注意:设置倒计时时长需要在确定模式之后指定
// 倒计时的时长,以秒为单位
[self.datepicker setcountdownduration:10 * 60];
8.minuteinterval
你可以将分钟表盘设置为以不同的时间间隔来显示分钟,前提是该间隔要能够让60整除。默认间隔是一分钟。如果要使用不同的间隔,需要改变 minuteinterval属性:
// 设置分钟间隔
datepicker.minuteinterval = 15;
9.datepickermode
9.1 uidatepickermodetime,
// displays hour, minute, and optionally am/pm designation depending on the locale setting (e.g. 6 | 53 | pm)
显示小时,分钟和am/pm,这个的名称是根据本地设置的
[datepicker setdatepickermode:uidatepickermodetime];
9.2 uidatepickermodedate,
// displays month, day, and year depending on the locale setting (e.g. november | 15 | 2007)
显示年月日,名称根据本地设置的
[datepicker setdatepickermode:uidatepickermodedate];
9.3 默认是显示这种模式
uidatepickermodedateandtime, // displays date, hour, minute, and optionally am/pm designation depending on the locale setting
(e.g. wed nov 15 | 6 | 53 | pm)
显示日期,小时,分钟,和am/pm,名称是根据本地设置的
[datepicker setdatepickermode:uidatepickermodedateandtime];
9.4
uidatepickermodecountdowntimer // displays hour and minute (e.g. 1 | 53)
显示小时和分钟
[datepicker setdatepickermode:uidatepickermodecountdowntimer];
10. uidatepicker使用教程一。
10.1初始化
// 不用设置宽高,因为它的宽高是固定的
uidatepicker *datepicker = [[uidatepicker alloc] init];
10.2常用设置
// 设置区域为中国简体中文
datepicker.locale = [[nslocale alloc] initwithlocaleidentifier:@"zh_cn"];
// 设置picker的显示模式:只显示日期
datepicker.datepickermode = uidatepickermodedate;
10.3uidatepicker需要监听值的改变
[datepicker addtarget:self action:@selector(datechange:) forcontrolevents:uicontroleventvaluechanged];
11.uidatepicker使用教程二。
11.1日期范围
你可以通过设置mininumdate 和 maxinumdate 属性,来指定使用的日期范围。如果用户试图滚动到超出这一范围的日期,表盘会回滚到最近的有效日期。两个方法都需要nsdate 对象作参数:
nsdate* mindate = [[nsdate alloc]initwithstring:@"1900-01-01 00:00:00 -0500"];
nsdate* maxdate = [[nsdate alloc]initwithstring:@"2099-01-01 00:00:00 -0500"];
datepicker.minimumdate = mindate;
datepicker.maximumdate = maxdate;
11.2 如果两个日期范围属性中任何一个未被设置,则默认行为将会允许用户选择过去或未来的任意日期。这在某些情况下很有用处,比如,当选择生日时,可以是过去的任意日期,但终止与当前日期。如果你希望设置默认显示的日期,可以使用date属性:
datepicker.date = mindate;
11.3 此外,你还可以用 setdate 方法。如果选择了使用动画,则表盘会滚动到你指定的日期:
[ datepicker setdate:maxdate animated:yes];
推荐阅读
-
iOS App开发中的UIPageControl分页控件使用小结
-
详解iOS App开发中改变UIButton内部控件的基本方法
-
Xcode中iOS应用开发的一般项目目录结构和流程简介
-
iOS应用开发中的文字选中操作控件UITextView用法讲解
-
iOS应用UI开发中的字体和按钮控件使用指南
-
详解iOS App开发中改变UIButton内部控件的基本方法
-
iOS开发中Date Picker和UITool Bar控件的使用简介
-
iOS开发中UIImageView控件的常用操作整理
-
解析iOS应用的UI开发中懒加载和xib的简单使用方法
-
iOS开发中UITableview控件的基本使用及性能优化方法