UIDatePicker(日期时刻选择框)

1、基本用法:

    UIDatePicker * datePicker = [[UIDatePicker alloc] init];
    [self.view addSubview:datePicker];

只需要这两行代码就能显示一个日起时刻选择框:

2、自定义日期时刻选择框的大小位置:

    datePicker.frame = CGRectMake(50, 100, 350, 500);

3、日期时刻选择框的几种样式:

(1)默认:

    datePicker.datePickerMode = UIDatePickerModeDateAndTime;//默认

就是上面的那种形式。

(2)、

    datePicker.datePickerMode = UIDatePickerModeTime;

显示当前时间:

(3)、

    datePicker.datePickerMode = UIDatePickerModeDate;

显示当前日期:

(4)、

    datePicker.datePickerMode = UIDatePickerModeCountDownTimer;

倒计时模式:

4、实时监测:

添加事件:

    [datePicker addTarget:self action:@selector(datePickerChange:) forControlEvents:UIControlEventValueChanged];

响应事件(只有滚动停止的时候才响应事件,滚动期间不响应):

- (void) datePickerChange:(id) sender {
    if ([sender isKindOfClass:[UIDatePicker class]]) {
        UIDatePicker * datePicker = sender;

        NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
        [formatter setDateFormat:@"yy/MM/dd HH:mm"];
        NSString * dateString = [formatter stringFromDate:datePicker.date];
        NSLog(@"%@", dateString);
    }
}

滑动日期时刻选择器,实时输出:

2015-11-27 10:49:03.584 07-UIDatePicker[609:9234] 15/11/27 00:49
2015-11-27 10:49:05.851 07-UIDatePicker[609:9234] 15/11/27 02:49
2015-11-27 10:49:12.975 07-UIDatePicker[609:9234] 15/11/27 04:49
2015-11-27 10:49:15.284 07-UIDatePicker[609:9234] 15/11/27 05:49
2015-11-27 10:49:17.141 07-UIDatePicker[609:9234] 15/11/27 07:49
2015-11-27 10:49:20.855 07-UIDatePicker[609:9234] 15/11/27 14:49

5、手动设置日期,并且改变时是否伴随动画形式:

- (void)setDate:(NSDate *)date animated:(BOOL)animated; // if animated is YES, animate the wheels of time to display the new date

6、设置时间间隔:

 @property (nonatomic) NSInteger      minuteInterval;    // display minutes wheel with interval. interval must be evenly divided into 60. default is 1. min is 1, max is 30

默认是1,最小是1,最大是30分钟

    datePicker.minuteInterval = 20;

7、设置日期选择范围:

 @property (nullable, nonatomic, strong) NSDate *minimumDate; // specify min/max date range. default is nil. When min > max, the values are ignored. Ignored in countdown timer mode
 @property (nullable, nonatomic, strong) NSDate *maximumDate; // default is nil

设置范围为:

    datePicker.minimumDate = [NSDate date];
    datePicker.maximumDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24 * 25];

此时无论怎么向下滑,日期最终也只是停在Today,不会小于Today

此时无论怎么向上滑,日期最后总是停在Tue Dec 22处,不可能大于这个日期。

8、倒计时模式:

#import "ViewController.h"

@interface ViewController ()
{
    UIDatePicker * datePicker;
    NSTimer * timer;
}
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self.view.backgroundColor = [UIColor whiteColor];

    datePicker = [[UIDatePicker alloc] init];
    [self.view addSubview:datePicker];
    datePicker.frame = CGRectMake(50, 100, 350, 500);    

    datePicker.datePickerMode = UIDatePickerModeCountDownTimer;

    datePicker.countDownDuration = 5 * 60; //初始设置为5分钟
    //每隔一分钟调用一次
    timer = [NSTimer timerWithTimeInterval:60 target:self selector:@selector(timerAction:) userInfo:nil repeats:YES];
    NSRunLoop * runLoop = [NSRunLoop currentRunLoop];
    [runLoop addTimer:timer forMode:NSDefaultRunLoopMode];

}

- (void) timerAction:(id) sender {
    NSTimeInterval now = datePicker.countDownDuration;
    if (0 < now) {
        datePicker.countDownDuration -= 60;
    }
}

每隔一分钟,跳动一次:

时间: 2024-10-27 01:14:23

UIDatePicker(日期时刻选择框)的相关文章

android 弹出日期选择框

DatePickerDialog 在很多时候需要用户去设定时间,不可能让用户去在一个文本框中去输入时间,所以就需要有个日期弹出选择框,而这个框就是DatePickerDialog. 1.在API中的DatePickerDialog类的继承关系 从类的继承关系来看DatePickerDialog继承于Dialog就可以明显看出是一个弹出框了 2.构造函数 callBack:是在你设置时间的时候触发的. year , monthOfYear , dayOfMonth这三个参数是用来初始化DatePi

js日期选择并将日期返回文本框

date.js // JavaScript Document var gMonths=new Array("一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"); var WeekDay=new Ar

【石墨】极客编程小挑战#26:实现日期级联下拉选择框

详细内容请参见原文:http://www.gbtags.com/gb/share/5823.htm 本期挑战: 初始的html代码如下: <select name="year" id="year"> <option value="0">--</option> <option value="1999">1999</option> <option value=&qu

Java知多少(87)选择框和单选按钮(转)

选择框.单选框和单选按钮都是选择组件,选择组件有两种状态,一种是选中(on),另一种是未选中(off),它们提供一种简单的 “on/off”选择功能,让用户在一组选择项目中作选择. 选择框 选择框(JCheckBox)的选中与否开状是一个小方框,被选中则在框中打勾.当在一个容器中有多个选择框,同时可以有多个选择框被选中,这样的选择框也称复选框.与选择框相关的接口是ItemListener,事件类是ItemEvent.JCheckBox类常用的构造方法有以下3个: JCheckBox():用空标题

Java知多少(87)选择框和单选按钮

选择框.单选框和单选按钮都是选择组件,选择组件有两种状态,一种是选中(on),另一种是未选中(off),它们提供一种简单的 “on/off”选择功能,让用户在一组选择项目中作选择. 选择框 选择框(JCheckBox)的选中与否开状是一个小方框,被选中则在框中打勾.当在一个容器中有多个选择框,同时可以有多个选择框被选中,这样的选择框也称复选框.与选择框相关的接口是ItemListener,事件类是ItemEvent. JCheckBox类常用的构造方法有以下3个: JCheckBox():用空标

UIDatePicker日期/时间选取器的用法 与+NSDate和NSString的相互转换

 UIDatePicker日期/时间选取器 UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期.时间和持续时长的输入.日期选取器的各列会按照指定的风格进行自动配置,这样就让开发者不必关心如何配置表盘这样的底层操作.你也可以对其进行定制,令其使用任何范围的日期. UIDatePicker 依赖于 NSDate 类,这个类是cocoa 基础的一员,以前用于桌面系统.本文中仅需用到 initWithString 来创建NSDa

日期时间范围选择插件:daterangepicker使用总结

---恢复内容开始--- 分享说明: 项目中要使用日期时间范围选择对数据进行筛选;精确到年月日 时分秒;起初,使用了layui的时间日期选择插件;但是在IIE8第一次点击会报设置格式错误;研究了很久没解决,但能确定不是layui的问题;因为自己写的demo可以在IE8运行;只是在我的项目环境下某些代码冲突了;所以换用了bootstrap插件daterangepicker;看了很多资料;结合官网了文档;基本算是搞定了;把我的总结代码分享给大家;希望对使用daterangepicker插件的初学者有

微信开发 select选择框

最近在该企业微信的功能,要做一个微信界面,要使用select来做下拉选择框 部分前台HTML代码: 在选择分享组的时候,要从后台查询数据来做选择项 1 <form:form id="imgForm" modelAttribute="uploadImg" action="${oauthPath}/img/${agentKey}/submit" method="post"> 2 <input id="i

DevExpress 选择框如何进行模糊查询

dev中有很多的选择框控件,但是没有发现能够实时模糊查询的选择框,lookupedit是在数据源不变情况下实现自动匹配,但很多时候数据量太大以至于我们没法先绑定数据源. 这时我们需要一个能够实现实时匹配的SearchTextBox.这里我们用到了popupcontainerEdit. 先从工具栏中拖一个popupcontainerEdit和一个popucontainerControl.popupcontainerEdit像是一个lookupedit的输入选择框.而popucontainerCon