UIDatePicker

时间选择器UIDatePicker的使用 UIDatePicker的介绍 UIDatePicker这个类的对象让用户可以在多个车轮上选择日期和时间。iPhone手机上的‘时钟’应用程序中的时间与闹铃中便使用了该控件。使用这个控件时,如果你能配置正确,当用户滚动车轮到一个新的日期或者时间上时,利用UIControlEventValueChanged触发事件。UIDatePicker给出了倒计时模式,但是并没有实现相关事件。如果你使用该模式,必须在应用程序中设置一个NSTime对象,让倒计时中的时间不断减少。 UIDatePicker的使用 创建 阅读详情

UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期、时间和持续时长的输入。日期选取器的各列会按照指定的风格进行自动配置,这样就让开发者不必关心如何配置表盘这样的底层操作。你也可以对其进行定制,令其使用任何范围的日期。

UIDatePicker 依赖于 NSDate 类,这个类是cocoa 基础的一员,以前用于桌面系统。本文中仅需用到 initWithString 来创建NSDate 所以NSDate 留待专题讲解,你只需要掌握本文中使用的方法就好。

C代码  收藏代码
  1. NSDate* _date = [ [ NSDate alloc] initWithString:@"2012-03-07 00:35:00 -0500"];    
 

 

一、创建日期/时间选取器

 

UIDatePicker 使用起来比标准 UIPickerView 更简单。他会根据你指定的日期范围创建自己的数据源。使用它只需要创建一个对象:

C代码  收藏代码
  1. UIDatePicker *datePicker = [ [ UIDatePicker alloc] initWithFrame:CGRectMake(0.0,0.0,0.0,0.0)];  
 

默认情况下选取会显示目前的日期和时间,并提供几个表盘,分别显示可以选择的月份和日期、小时、分钟、以及上午、下午。因此用户默认可以选择任何日期和时间的组合。

 

二、日期选取器模式

日期/时间选取器支持4种不同模式的选择方式。通过设置 datePickerMode 属性,可以定义选择模式:

C代码  收藏代码
  1. datePicker.datePickerMode = UIDatePickerModeTime;   
 

支持的模式:

C代码  收藏代码
  1. typedef enum {  
  2.     UIDatePickerModeTime,           // Displays hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. 6 | 53 | PM)  
  3.     UIDatePickerModeDate,           // Displays month, day, and year depending on the locale setting (e.g. November | 15 | 2007)  
  4.     UIDatePickerModeDateAndTime,    // Displays date, hour, minute, and optionally AM/PM designation depending on the locale setting (e.g. Wed Nov 15 | 6 | 53 | PM)  
  5.     UIDatePickerModeCountDownTimer  // Displays hour and minute (e.g. 1 | 53)  
  6. } UIDatePickerMode;  
 

三、时间间隔

 

你可以将分钟表盘设置为以不同的时间间隔来显示分钟,前提是该间隔要能够让60整除。默认间隔是一分钟。如果要使用不同的间隔,需要改变 minuteInterval属性:

C代码  收藏代码
  1. datePicker.minuteInterval = 5;    
 

四、日期范围

 

你可以通过设置mininumDate 和 maxinumDate 属性,来指定使用的日期范围。如果用户试图滚动到超出这一范围的日期,表盘会回滚到最近的有效日期。两个方法都需要NSDate 对象作参数:

C代码  收藏代码
  1. NSDate* minDate = [[NSDate alloc]initWithString:@"1900-01-01 00:00:00 -0500"];    
  2. NSDate* maxDate = [[NSDate alloc]initWithString:@"2099-01-01 00:00:00 -0500"];    
  3.         
  4. datePicker.minimumDate = minDate;    
  5. datePicker.maximumDate = maxDate;   
 

如果两个日期范围属性中任何一个未被设置,则默认行为将会允许用户选择过去或未来的任意日期。这在某些情况下很有用处,比如,当选择生日时,可以是过去的任意日期,但终止与当前日期。如果你希望设置默认显示的日期,可以使用date属性:

C代码  收藏代码
  1. datePicker.date = minDate;    
 

此外,你还可以用 setDate 方法。如果选择了使用动画,则表盘会滚动到你指定的日期:

C代码  收藏代码
  1. [datePicker setDate:maxDate animated:YES];  
 

五、显示日期选择器

C代码  收藏代码
  1. [self.view addSubview:datePicker];  
 

需要注意的是,选取器的高度始终是216像素,要确定分配了足够的空间来容纳。

 

六、读取日期

C代码  收藏代码
  1. NSDate* _date = datePicker.date;   

 

由于日期选择器是 UIControl的子类 (与UIPickerView不同),你还可以在UIControl类的通知结构中挂接一个委托:

C代码  收藏代码
  1. [datePicker addTarget:self action:@selector(dateChanged:) forControlEvents:UIControlEventValueChanged ];  
 

只要用户选择了一个新日期,你的动作类就会被调用:

C代码  收藏代码
  1. -(void)dateChanged:(id)sender{    
  2.           UIDatepicker* control = (UIDatePicker*)sender;    
  3. NSDate* _date = control.date;    
  4. /*添加你自己响应代码*/    
  5. }    
 

是不是觉得很好玩呢?确实。如果觉得好玩,你也试着封装一个UIPickerView 试试看,打造一个你自己的专用滚轮。

IOS 学习笔记 选择器 UIDatePicker UIPickerView 目录 PickerView 1 UIDatePicker 1.1 UIDatePicker的四种模式 1.1.1 日期模式 1.1.2 时间模式 1.1.3日期时间模式 1.1.4倒计时定时器模式 1.1.5UIDatePicker属性 1.2 实例应用 1.2.1 实例需求 1.2.2源码 1.2.3 测试 1.2.4 github地址 UIPickerV... 阅读详情

相关推荐

Blender - Shrinkwrap - 更方便的制作贴合模型的表面来建模

Shrinkwrap 修改器 使用 Blender 想要快速建模可以贴合现有模型表面的效果:衣服、皮肤、等效果,可以使用 Shrinkwrap 修改器,这个修改器的名字其实按照英文上的理解,翻译为:收缩的包裹效果 应用 如这块铁皮,它要贴合机身弯曲的效果,可以先建好一个铁皮,再 Shrinkwrap 到一个指定的网格上 留意的参数 Target 要贴合的对象(目前我已知是可以贴合到网格对象上,实在是方便) VertexGroup 顶点组,和之前讲到过的,顶点组可以组设顶点的权重,意思这个可.

Jave.Lin 的学习笔记 6068

uni-app组件开发----多粒度时间选择器组件

###WXRUI体验二维码 如果本插件对你的开发有帮助,请进入小程序,点击一下广告,谢谢支持! 下载 DatePicker 多时间粒度选择器组件下载 DatePicker 多时间粒度选择器 可进行多时间粒度选择的时间选择器,组件名:rattenking-dtpicker,代码块: ruiDatePicker。 使用方式: 在 script 中引用组件 import ruiDatePicker f...

止于至善 1万+

千兆以太网PHY设计:PCB原理图完整示例

深入解析千兆以太网PHY电路设计要点,提供完整的PCB原理图设计实例,帮助工程师掌握高速信号布局与电源去耦等关键技术,提升设计稳定性与信号完整性。

weixin_30633869的博客 628

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

声明 欢迎转载,但是请尊重作者劳动成果,转载请保留此框内声明,谢谢。 文章出处:http://blog.youkuaiyun.com/iukey UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期、时间和持续时长的输入。日期选取器的各列会按照指定的风格进行自动配置,这样就让开发者不必关

潇洒的程序员 9万+

西门子S7-1200与FUNUC机器人MODBUS TCP通信

PLC与机器人通讯

Illusssion的博客 1万+

在ROS中使用行为树

在ROS中使用行为树 我提供的工程示例文件: demo链接 文章目录在ROS中使用行为树0、 学习本教程的前提1、 behaviorTree 库安装(ROS使用下的安装方式)2、 处理 behaviortree 库并准备好 service 和 ros action2.1 对ROS 的 service 和 action 进行封装,使其在 behaviortree 上使用更加方便。2.2 创建一个 service 和一个 action2.3 创建与决策树相关的数据类型2.4 修改`package.xml`文件2

qq_37416258的博客 6375

DatePicker 多时间粒度选择器组件

使用方法:  在.vue文件引入 import ruiDatePicker from '@/components/rattenking-dtpicker/rattenking-dtpicker.vue'; export default { components: {ruiDatePicker} }在template中使用组件 <ruiDatePicker ...

452

【HALCON 25.11 + C#】 01:2026年工业机器视觉实战详解(从入门到精通)

2026年机器视觉市场规模将突破230亿美元,HALCON 25.11的革命性更新与C#的工业集成优势形成黄金技术栈。本文作为付费专栏开篇序章,聚焦“为什么现在必须学25.11+C#”的核心问题,通过真实工业案例、五项核心技术突破、联合编程架构优势及30篇系统学习路线,全方位论证其投资价值。读者将掌握持续学习、深度OCR加速等关键技能,获得可直接上产线的工业级代码资产与架构设计思维,解决柔性生产、边缘部署等核心痛点,成为具备技术溢价的机器视觉工程师。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1215

【亲测免费】 推荐一款高效易用的日期选择器组件——`rui-datepicker`

在Web开发中,日期选择器是一个常见的交互元素,用于方便用户输入或选取日期。 是一个轻量级、高度可定制的JavaScript库,旨在提供简洁、优雅的日期选择体验。此项目由陈如飞开发并维护,它采用现代化的技术栈构建,兼容各种现代浏览器和移动端设备。 ## 技术分析 - **基于Vue.js**:Rui Datepicker采用了Vue.js作为基础框架,这意味着它可以无缝地整合到任何 Vue 应...

gitblog_00087的博客 641

【全网首发】2026华为OD双机位C卷 机考真题题库含考点说明以及在线OJ (Java)

如果你收到的是双机位C卷考试通知,需要针对性地调整备考策略。自2025年11月19日起,华为OD机试已正式从双机位A卷切换至。复杂度明显提升,需要组合多个算法点。题面相对简单,直接考查编程基本功。考查问题分析、算法选择和优化能力。通常为1-2个核心算法点的应用。

算法大师! 165

Opencascade 保存点云为 .stp 和 .step 格式

总结一下,OpenCascade提供了强大的功能和工具,使我们能够方便地将点云数据保存为 .stp 和 .step 格式。通过使用类似于上述示例代码的方法,你可以使用OpenCascade库将点云数据保存为.STP和.STEP格式。总结一下,使用OpenCascade库,你可以方便地将点云数据保存为.STP和.STEP格式。通过使用类似于上述示例代码的方法,你可以将点云数据转换为OpenCascade的几何模型,并将其保存为所需的文件格式。请注意,上述代码仅涵盖了将点云数据保存为.STP格式的基本步骤。

CwzCode的博客 1156

UIDatePicker的使用

本案例演示了UIDatePicker的使用,案例为黑马程序员UI进阶教程所讲案例 UIDatePicker是一个专门的日期/时间选择器,通常与textField配合作为其inputView出现,同时为了实现键盘的收回或其他一些特殊效果,通常同时指定textField的inputAccessoryView,本例中是使用UIToolBar来实现 实现效果如下: 一、创建UITextField...

comma的博客 1703

目前最强的价格行为技术分析AI!大A也能用!还免费!

有球友推荐了一个历史最强的价格行为技术分析AI工具,使用下来确实很惊艳,解决了 很多AI工具黑盒过程,难以回溯的问题,他的决策过程可解释,提供决策树、诊断结果、原始响应、调试信息和未来走势预期。用户能够看到模型为什么选择“做多、做空或不下单”。会检查置信度、入场条件、盈亏比、结构失效和冷却期。最大的优点不是“预测一定准确”,而是把主观的价格行为分析整理成了可重复、可解释、可校验、可持续跟踪的工程化流程。本文记录本项目在 Windows 上的实际部署与启动方法。

木头大左的博客 70

Swift之UIDatePicker

UIDatePicker 是UIKit控件中提供日期和时间选择的控件。首先我们先了解一下相关属性 1、Mode 控件的模式设置,有如下几种模式:  A、Date:选择这种模式,控件仅显示日期,不显示时间。  B、Time:控件仅显示时间,不显示日期。  C、Date和Time:在此模式下,控件将同时显示日期和时间  D、Count Down Timer:在此UIDatePicker控件显

NoPolun_iOS的博客 1401

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

swift中UIDatePicker的使用

https://github.com/potato512/SYSwiftLearning 效果图 示例代码 // 实例化UIDatePicker(默认宽高分别是:屏幕的宽度,216的高度) let datepicker = UIDatePicker() self.view.addSubview(datepicker) // 属性设置 datepicker.b

番薯大佬的专栏 6039

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

UIButton点击之后弹出UIDatePicker

最近需要做一个点击button之后弹出UIDatePicker, 选择后将日期显示在button上,  其实这个需求可以有两种方案解决: 1.  第一种方法: 自定义UITextField.inputView为datePicker, 这个实现很简单, 但是局限在于TextField内容是可编辑的, 而我们不希望这样, 如果你设置textField.enabled=NO, 那InputView也弹

dexin5195的专栏 3732

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

IOS UIDatePicker的使用,设置UIDatePicker的时间和获取UIDatePicker的时间

var datepicker: UIDatePicker = UIDatePicker.init(frame: CGRect.init(x: 0, y: 0, width: 200, height: 200)) self.view.addSubview(self.datepicker) datepicker.datePickerMode = UID...

代码是贝多芬的音符 4049

iOS UIDatePicker的使用

一:UIDatePicker的介绍 UIDatePicker 是一个控制器类,封装了 UIPickerView,但是他是UIControl的子类,专门用于接受日期、时间和持续时长的输入。 日期选取器的各列会按照指定的风格进行自动配置,这样就让开发者不必关心如何配置表盘这样的底层操作。 你也可以对其进行定制,令其使用任何范围的日期。 UIDatePicker这个类的对象让用户可以在多个车轮上选择日期和时间。 iPhone手机上的‘时钟’应用程序中的时间与闹铃中便使用了该控件。 使用这个控件时,如果你能配置

迦南的专栏 5826

iOS UIDatePicker

In this tutorial, we’ll be discussing the UIDatePicker class and implement its various use cases in our iOS Application. 在本教程中,我们将讨论UIDatePicker类,并在我们的iOS应用程序中实现其各种用例。 UIDatePicker (UIDatePicker) UI...

从零开始的教程世界 663

UISwitch和UIDatePicker

UISwitch 基本使用 import UIKit class ViewController: UIViewController { var mainSwitch:UISwitch! func switchIsChanged(sender: UISwitch){ print("Sender is = \(sender)") if

wangxiaobupt的专栏 783

iOS14 UIDatePicker的变化

iOS14 UIDatePicker的变化 手机系统更新到iOS14之后,在选择日期的时候变成这样了 更新之前是这样的 这是因为UIDatePicker 增加了pickerStyle,需要设置preferredDatePickerStyle = UIDatePickerStyleWheels才会和以前一样,并且现在对frame的宽高设置已经不生效了,会采用系统默认的宽高。 preferredDatePickerStyle属性: typedef NS_ENUM(NSInteger, UI.

俊而不逊的博客 6271

UIDatePicker控件

UIDatePicker是一个可以用来选择或者设置日期的控件,不过它是像转轮一样的控件,而且是苹果专门为日历做好的控件,如下图所示: 除了UIDatePicker控件,还有一种更通用的转轮形的控件:UIPickerView,只不过UIDatePicker控件显示的就是日历,而UIPickerView控件中显示的内容需要我们自己用代码设置。本篇文章简单介绍UIDatePicker控件,后边的文

曲奇 2831

UIPickerView,UIDatePicker,UITextView

当用户上下滑动UIPickerView列表时,列表中的数据会长下移动,当滑动停止时,悬停在UIPickerView中间的数据即为用户选择的数据。UIDatePicker和UIPickerView在展现上十分相似,UIDatePicker不是UIPickerView的子类,而是继承于UIControl的一个独立控件,UIPickerView的创建比较复杂,它是通过代理和数据源方法来对其进行设置和数据源的填充,这种控件的设计模式也是代理模式的应用之一。如:省市县的选择列表,时间选择列表,日期选择列表。

weixin_61196797的博客 1009

iOS 开发UidatePicker 改变字体颜色的方法

小编在开发的过程中,遇到这一需求,实在是让我头疼半天,因为UIdatePicker 没有更改字体的属性设置,当时找遍了百度上的很多方法,都不是很靠谱,最后通过朋友了解到runtime的相关知识,于是将这一问题解决,好了废话少,马上为您,奉上代码。 以下是在.h文件中的声明 #import @protocol XG_datePickerDelega

appdeveloperxg的博客 6624

Swift - UIDatePicker

import UIKit class ViewController: UIViewController{ override func viewDidLoad() { super.viewDidLoad() //创建DatePicker let datePicker = UIDatePicker() //设置位置 ...

iOS - Swift 1238
上一篇: NSDate的常用用法
下一篇: Tried to obtain the web lock from a thread解决方法之一
focusjava
博客等级 码龄14年 127粉丝 528原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值