什么是UIDatePicker

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

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

UIDatePicker继承自UIControl。

怎么使用UIDatePicker

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

使用UIDatePicker的更多相关文章

  1. UI--UIPickerView和UIDatePicker的总结

    回到顶部 UIPickerView的主要方法和城市选择器的修正 UIPickerView只有两个数据源方法.要想完整地显示出PickerView,需要结合使用代理方法 数据源方法: // 一共有多少组 ...

  2. iOs基础篇(二十二)—— UIPickerView、UIDatePicker控件的使用

    一.UIPickerView UIPickerView是一个选择器控件,可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活. 1.常用属性 (1)num ...

  3. UIDatePicker和UIToolbar的使用

    功能,用UIDatePicker 和UIToolbar 实现点击文本框弹出日期选择空间. 点击确定按钮获取时间显示到对应的Text Field里面,点击取消按钮隐藏键盘. 1.创建textField控 ...

  4. 自定义一个只显示年月的DatePicker(UIDatePicker无法实现年月显示)

    HooDatePicker 介绍(introduction) ==================================================项目需要一个DatePicker,只显 ...

  5. iOS开发--UIDatePicker

    UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期.时间和持续时长的输入.日期选取器的各列会按照指定的风格进行自动配置,这样 ...

  6. IOS第11天(4:UIDatePicker时间选择,和键盘处理,加载xib文件,代理模式)

    ***控制层 #import "ViewController.h" #import "CZKeyboardToolbar.h" @interface ViewC ...

  7. UIDatePicker 日期/时间选取器(滚轮)—IOS开发

    UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期.时间和持续时长的输入.日期选取器的各列会按照指定的风格进行自动配置,这样 ...

  8. UIDatePicker的用法

    目录[-] 1.Locale 2.Calendar 3.timeZone 4.date 5.minimumDate 6.maximumDate 7.countDownDuration 8.minute ...

  9. UIkit框架之UIDatePicker

    1.继承链:UIcontrol:UIview:UIResponder:NSOobject 2.和uidatepicker相关联的触发事件是 UIControlEventValueChanged,当使用 ...

  10. Objective-c——UI进阶开发第一天(UIPickerView和UIDatePicker)

    一.知识点 1.介绍数据选择控件UIPickerView和日期选择控件UIDatePicker控件 * UIPickerView的案例 * 点餐系统 * 城市选择 * 国旗选择 * UIDatePic ...

随机推荐

  1. appium+python自动化26-模拟手势点击坐标(tap)【转载】

    ​# 前言:有时候定位元素的时候,你使出了十八班武艺还是定位不到,怎么办呢?(面试经常会问)那就拿出绝招:点元素所在位置的坐标 tap用法 1.tap是模拟手指点击,一般页面上元素的语法有两个参数,第 ...

  2. Laravel使用db:seed生成测试数据

    创建 生成数据 定义字段 call方法调用 执行 seeder里如有多个可指定class 整理自www.laravist.com 视频教程

  3. Cannot read property 'field' of undefined (at _8 (jquery.numberbox.js:33))

    问题描述: 页面端用了easyui的numberbox属性,然后在用js的方法修改值的时候,明明看到页面中的值是数字型(数量字段), 但是就是会报错 这种错误真的是很难理解,不过经过我的debug跟了 ...

  4. slice,splice,substr,substring函数的区别

    slice: 语法:array.slice(startIndex,endIndex); 参数: startIndex:必须,规定从何处开始选取,如果为负则从尾部开始计算 : endIndex:可选,规 ...

  5. Web开发之编码与解码、签名、加密与解密

    在Web开发中,编码与解码.签名.加密与解密是非常常见的问题.本文不会介绍具体实例,而是介绍这些的原理.用途与区别.一.编码与解码        在Web开发中,需要通过URL的query参数来传递数 ...

  6. [POI2010]Blocks

    题目大意: 给你一个长度为n的数列,给你m个数k. 对于每个k,你可以进行若干次操作,每次把一个超过k的数的多余部分移到旁边一个数. 问对于每个k,进行若干次操作以后,最长的满足每个数都不小于k的区间 ...

  7. jsp笔记2(编译指令与动作指令)

    一.jsp的编译指令是通知jsp引擎的消息,不会生成输出. jsp的3个编译指令: page:针对当前页面的指令   include:包含另一个页面的指令   taglib:用于定义和访问自定义标签 ...

  8. Mac如何通过远程控制其他Mac

    Mac如何通过远程控制其他Mac 发表于 2012 年 10 月 15 日 很多时候,我们会碰到需要被别人远程帮助或者远程帮助别人的情况,Windows下我们可以通过远程连接或者QQ远程协助来完成,但 ...

  9. c++中resize这个函数怎么用

    c++中序列式容器的一个共性函数, vv.resize(int n,element)表示调整容器vv的大小为n,扩容后的每个元素的值为element,默认为0 resize()会改变容器的容量和当前元 ...

  10. What is a mocking framework? Why is it useful?

    Today I want to talk about mocking frameworks and why they are useful. In order to do that I first n ...