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的时区。

默认为设置为:

复制代码代码如下:
[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开发中UIDatePicker控件的使用方法简介的更多相关文章

  1. IOS开发中设置控件内容对齐方式时容易混淆的几个属性

    IOS开发中四个容易混淆的属性: 1. textAligment : 文字的水平方向的对齐方式 1> 取值 NSTextAlignmentLeft      = 0,    // 左对齐 NST ...

  2. ios开发中button控件的属性及常见问题

    最为最基本的控件,我们必须对button的每个常用属性都熟练应用: 1,使用之前,必须对按钮进行定义,为乐规范,在@interface ViewController (){}中进行定义,先定义后使用. ...

  3. C++ Builder中splitter控件的使用方法简介

    C++ Builder提供了一个Splitter控件来实现对用户窗口的分割,只需拖动该控件到窗体上,就可以实现窗口的任意分割.把面板控件(Panel)拖动到窗体上,设置其对齐方式,然后把Splitte ...

  4. IOS开发中数据持久化的几种方法--NSUserDefaults

    IOS开发中数据持久化的几种方法--NSUserDefaults IOS 开发中,经常会遇到需要把一些数据保存在本地的情况,那么这个时候我们有以下几种可以选择的方案: 一.使用NSUserDefaul ...

  5. iOS 开发 ZFUI framework控件,使布局更简单

    来自:http://www.jianshu.com/p/bcf86b170d9c 前言 为什么会写这个?因为在iOS开发中,界面的布局一直没有Android布局有那么多的方法和优势,我个人开发都是纯代 ...

  6. VB6.0中WinSock控件属性和方法详解

    原文链接:http://liweibird.blog.51cto.com/631764/653134 WinSock控件能够通过UDP协议(用户数据报协议)或TCP协议(数据传输协议)连接到远程的机器 ...

  7. 【VS开发】list控件的InsertColumn方法出错

    今天在写一个获取磁盘信息的小程序,通过list控件显示各磁盘信息.我在属性页(CPropertyPage)的构造函数中,调用list控件的InsertColumn方法,编译链接都通过了,但运行时冒出了 ...

  8. iOS开发基础-UITableView控件简单介绍

     UITableView 继承自 UIScrollView ,用于实现表格数据展示,支持垂直滚动.  UITableView 需要一个数据源来显示数据,并向数据源查询一共有多少行数据以及每一行显示什么 ...

  9. IOS开发自定义CheckBox控件

    IOS本身没有系统的CheckBox组件,但是实际开发中会经常用到,所以专门写了一个CheckBox控件,直接上代码 效果图: UICheckBoxButton.h文件如下: #import #imp ...

随机推荐

  1. RSA PKCS1 填充方式

    1)RSA_PKCS1_PADDING 填充模式,最常用的模式 要求:输入 必须 比 RSA 钥模长(modulus) 短至少11个字节, 也就是 RSA_size(rsa) – 11    如果输入 ...

  2. 文件操作(day15)

    调用函数可以使用被调用函数动态分配的 存储区 calloc函数也可以动态分配一组连续的 存储区 这个函数可以把所有动态分配的存储区 内容设置成0 为了使用这个函数也需要包含stdlib.h头文件 这个 ...

  3. [luogu2587 ZJOI2008] 泡泡堂 (贪心)

    传送门 Description 第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡堂.每一场比赛 ...

  4. 记一次惊心的网站 TCP 队列问题排查经历

    https://blog.csdn.net/chenlycly/article/details/80868990 http://www.mytju.com/classcode/news_readnew ...

  5. zabbix监控AIX DB2数据库

    记一次工作中使用zabbix监控aix db2数据库的经历. 记忆要点: 1.使用自定义perl脚本: 2.由于zabbix用户权限的原因,无法调用db2用户获取数据库的数据,所以在zabbix配置文 ...

  6. Linux简单的进度条

    echo '进度条' i= bar="" ] do let idx=i% printf "[%-100s][%d%%]\r" "$bar" ...

  7. Hexo系列(三) 常用命令详解

    Hexo 框架可以帮助我们快速创建一个属于自己的博客网站,熟悉 Hexo 框架提供的命令有利于我们管理博客 1.hexo init hexo init 命令用于初始化本地文件夹为网站的根目录 $ he ...

  8. cxdbtreelist的处理点滴

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAuAAAAE8CAIAAAAOqJOXAAAgAElEQVR4nOy9eXAcV37n+bwzf21sbO ...

  9. 【Zoj 4061】Magic Multiplication

    [链接] 我是链接,点我呀:) [题意] [题解] /* for a[1] from 1~9 1*1=1 2*1=2 3*1=3 1*2=2 2*2=4 3*2=6 1*3=3 2*3=6 3*3=9 ...

  10. 【hihocoder 1475】 数组分拆

    [题目链接]:http://hihocoder.com/problemset/problem/1475 [题意] _< [题解] /* 别人的题解 首先对于每个位置预处理数组的前缀和,即s[i] ...