当前位置: 移动技术网 > IT编程>移动开发>IOS > iOS开发中UIDatePicker控件的使用方法简介

iOS开发中UIDatePicker控件的使用方法简介

2019年07月24日  | 移动技术网IT编程  | 我要评论

高圆圆见到他激动上蹦下跳!,虎威战机,韩国童装daowafushi

ios上的选择时间日期的控件是这样的,左边是时间和日期混合,右边是单纯的日期模式。

 

201511892806120.png (321×214)您可以选择自己需要的模式,time, date,date and time  , count down timer四种模式。

201511892826005.png (686×434)

本篇文章简单介绍下pickerdate控件的使用
1、新建一个singe view application,命名为datepickdemo,其他设置如图

201511892852672.png (728×491)

2、放置控件
打开viewcontroller.xib,拖拽一个datepicker控件放到界面上,再拖拽一个button控件放到界面上,双击button,输入"选择日期时间"

201511892914700.png (339×503)

3、建立xib和viewcontroller的关联
按下command+alt+enter键打开assistant editor,选中datepicker按住control键,拖拽到viewcontroller.h上,

201511892950065.png (634×183)

建立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];
}

运行看效果:

201511893012053.png (368×716)

5、修改模式成date模式,修改代码

复制代码 代码如下:

    [dateformatter setdateformat:@"yyyy-mm-dd"];


201511893036923.png (368×716)

常用参数
上面已经提到了一些常用参数的使用,下面再来列一下比较常用的几个:
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的时区。

默认为设置为:

复制代码 代码如下:
[datepicker settimezone:[nstimezone defaulttimezone]];

4.date
设置datepicker的日期。

默认设置为:

复制代码 代码如下:
[datepicker setdate:[nsdate date]];

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 uicollectionview实现横向滚动

    现在使用卡片效果的app很多,之前公司让实现一种卡片效果,就写了一篇关于实现卡片的文章。文章最后附有demo实现上我选择了使用uicollectionview ... [阅读全文]
  • iOS UICollectionView实现横向滑动

    本文实例为大家分享了ios uicollectionview实现横向滑动的具体代码,供大家参考,具体内容如下uicollectionview的横向滚动,目前我使... [阅读全文]
  • iOS13适配深色模式(Dark Mode)的实现

    iOS13适配深色模式(Dark Mode)的实现

    好像大概也许是一年前, mac os系统发布了深色模式外观, 看着挺刺激, 时至今日用着也还挺爽的终于, 随着iphone11等新手机的发售, ios 13系统... [阅读全文]
  • ios 使用xcode11 新建项目工程的步骤详解

    ios 使用xcode11 新建项目工程的步骤详解

    xcode11新建项目工程,新增了scenedelegate这个类,转而将原appdelegate负责的对ui生命周期的处理担子接了过来。故此可以理解为:ios... [阅读全文]
  • iOS实现转盘效果

    本文实例为大家分享了ios实现转盘效果的具体代码,供大家参考,具体内容如下demo下载地址: ios转盘效果功能:实现了常用的ios转盘效果,轮盘抽奖效果的实现... [阅读全文]
  • iOS开发实现转盘功能

    本文实例为大家分享了ios实现转盘功能的具体代码,供大家参考,具体内容如下今天给同学们讲解一下一个转盘选号的功能,直接上代码直接看viewcontroller#... [阅读全文]
  • iOS实现轮盘动态效果

    本文实例为大家分享了ios实现轮盘动态效果的具体代码,供大家参考,具体内容如下一个常用的绘图,主要用来打分之类的动画,效果如下。主要是ios的绘图和动画,本来想... [阅读全文]
  • iOS实现九宫格连线手势解锁

    本文实例为大家分享了ios实现九宫格连线手势解锁的具体代码,供大家参考,具体内容如下demo下载地址:效果图:核心代码://// clockview.m// 手... [阅读全文]
  • iOS实现卡片堆叠效果

    本文实例为大家分享了ios实现卡片堆叠效果的具体代码,供大家参考,具体内容如下如图,这就是最终效果。去年安卓5.0发布的时候,当我看到安卓全新的material... [阅读全文]
  • iOS利用余弦函数实现卡片浏览工具

    iOS利用余弦函数实现卡片浏览工具

    本文实例为大家分享了ios利用余弦函数实现卡片浏览工具的具体代码,供大家参考,具体内容如下一、实现效果通过拖拽屏幕实现卡片移动,左右两侧的卡片随着拖动变小,中间... [阅读全文]
验证码:
移动技术网