Swift之UIDatePicker

SwiftUI基础组件之DatePicker详解 它提供了多种样式,能以不同的视觉形式呈现日期和时间选择界面,并且支持数据绑定,方便开发者获取用户选择的日期和时间值。模拟一个旅行计划安排的界面,用户可以选择出发日期、返回日期以及出发时间,同时对日期范围进行限制,还会根据用户的选择显示相关信息。当用户选择不同的日期或时间时,绑定的变量值会相应更新。视图显示用户选择的旅行计划信息,包括出发日期、返回日期和出发时间,这些信息会随着用户的选择实时更新。,表示只显示小时和分钟的选择器,让用户选择具体的时间。的值,让用户既可以选择日期,又可以选择时间。 阅读详情

UIDatePicker 是UIKit控件中提供日期和时间选择的控件。首先我们先了解一下相关属性

1、Mode 控件的模式设置,有如下几种模式:

 A、Date:选择这种模式,控件仅显示日期,不显示时间。

 B、Time:控件仅显示时间,不显示日期。

 C、Date和Time:在此模式下,控件将同时显示日期和时间

 D、Count Down Timer:在此UIDatePicker控件显示为倒计时状态。

 2 、Locate

       该属性用于设置控件的本地化显示,在xib中,下拉列表中列出了多个本地化区域的选项。如果选择Chinese(Simplified)相关的选择,则时间日期除数字之外的日期字符用简体中文显示。

3、Interval

        此参数用于设置控件上,两个最小单位时间的时间间隔。当模式选择为Date是,才属性值失效

4、Contraints

         此参数用于限定时间控件可以选择的时间范围。这两参数设置是能为我们带来方便的,比如做的是预约软件,选择时间预约时,可以制定一个将来的时间,以免用户造成困扰

5、Timer

        此参数仅当UIDatePicker控件Count Down Timer 模式时有效,此时用于设置倒计时所要用的总时间,以秒为单位



首先我们创建一个简单的UIDatePicker,可以用xib创建,也可以用代码创建

        let date = UIDatePicker.init(frame: CGRect.init(x: 0, y: 0, width: 300, height: 200))
        self.view.addSubview(date)
        // 控件模式
         date.datePickerMode = UIDatePickerMode.dateAndTime
        //创建一个日期格式器
        let  dformatter = DateFormatter()
        //为日期格式器设置格式字符串
        dformatter.dateFormat  = "yyyy年MM月dd日 HH:mm:ss" //这里要注意HH的大小写,如果是大写表示是24小时制,小写表示12小时制
        //使用日期格式器格式化日期、时间
        let datestr = dformatter.string(from: date.date)
        print(datestr)


接下来我们看看控件倒计时显示,不过感觉用到的地方比较少

import UIKit

class ViewController: UIViewController {

    var ctimer : UIDatePicker!
    var btn : UIButton!
    var leftTime:Int = 10
    var timer :Timer!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        ctimer = UIDatePicker.init(frame: CGRect.init(x: 0, y: 0, width: 300, height: 200))
        self.view.addSubview(ctimer)
        // 控件模式
        ctimer.datePickerMode = UIDatePickerMode.countDownTimer
        //必须是60的整数倍,比如设置为100,值自动变为60
        ctimer.countDownDuration = TimeInterval(leftTime)
        ctimer.addTarget(self, action: #selector(timeChange), for: .valueChanged)
        
        
        btn = UIButton.init(type: .system)
        btn.frame = CGRect.init(x: 100, y: 400, width: 100, height: 100)
        btn.setTitleColor(UIColor.red, for: .normal)
        btn.setTitleColor(UIColor.green, for: .disabled)
        btn.setTitle("开始", for: .normal)
        btn.setTitle("倒计时中", for: .disabled)
        btn.clipsToBounds = true
        btn.layer.cornerRadius = 5.0
        btn.addTarget(self, action: #selector(startClicked), for: .touchUpInside)
        
        
        self.view.addSubview(btn)

           }
    func timeChange() {
        print("倒计时:" + String(self.ctimer.countDownDuration))
    }
    func startClicked() {
        
       
        self.btn.isEnabled = false
        //获取该计时器的剩余时间
        leftTime = Int(self.ctimer.countDownDuration)
        //禁用UIDatePicker控件和按钮
        self.ctimer.endEditing(false)
        //初始化一个字符串
        let message = NSString.init(format: "倒计时开始,还有%d秒。。。", leftTime)
        //创建一个UIalterview对象,并确认倒计时开始
        let alter = UIAlertView()
        alter.title = "倒计时开始"
        alter.message = message as String
        alter.addButton(withTitle: "确定")
        alter.show()
        timer = Timer.scheduledTimer(timeInterval: TimeInterval(1), target: self, selector: #selector(tickDown), userInfo: nil, repeats: true)
        
        
        
        
        
        
    }
    
    func tickDown() {
        //将剩余时间减少1秒
        
        leftTime -= 1
        print(leftTime)
        //修改UIDatePicker的剩余时间
        self.ctimer.countDownDuration = TimeInterval(leftTime)
        //如果剩余时间小于等于0
        if leftTime <= 0 {
            //取消定时器
             timer.invalidate()
            //启用UIdatepicker和按钮
            self.ctimer.isEnabled = true
            self.btn.isEnabled = true
            let alter = UIAlertView()
            alter.title = "时间到"
            alter.message = "时间到"
            alter.addButton(withTitle: "确定")
            alter.show()
           
        }
    }

}

几乎见到过用着UIDatePicker进行倒计时的,不过我们去掉UIDatePicker就可以实现app通用倒计时方法了






使用Swift创建一个UIDatePicker 在本文中,我将向您展示如何在Swift中创建一个UIDatePicker,并使用相应的源代码进行说明。通过以上代码示例,您已经学会了如何使用Swift创建一个UIDatePicker,并对其进行一些基本的自定义设置。您可以进一步探索UIDatePicker的属性和方法,以满足您的特定需求,并根据您的应用程序的设计进行进一步的定制化。例如,我们可以设置日期选择器的位置和大小,以及选择器的模式。在上面的示例中,我们将日期选择器的大小设置为200x200,并将其模式设置为日期和时间。在上面的示例中,我们使用。 阅读详情

相关推荐

swift-iOS年月份选择器UIDatePickerUIPickerView

iOS 年月份选择器 UIDatePicker UIPickerView

Swift基础--UIDatePicker 使用

UIDatePickerUIDatePicker是iOS里默认的时间选择器,在使用时,有两种方法: - 1 通过storyboard添加UIDatePicker并绑定到ViewController中 - 2 通过代码在Viewcontroller中添加 这里介绍第一种方法 添加UIDatePicker到Storyboard添加的方法自然是拖动Date Picker 到storyboard 中

dai的博客 2256

swift-YLDatePicker-时间选择器(与UIDatePicker的区别是区域之外的时间不显示)

YLDatePicker - 时间选择器(与UIDatePicker的区别是区域之外的时间不显示)

SwiftUI之DatePicker

本章你会学会,SwiftUI中DatePicker 的使用

王偃飞的博客 1017

ios-swift-demo12-日期选择控件(UIDatePicker)的用法.zip

swift-demo12-日期选择控件(UIDatePicker)的用法

从FSI到三层堆叠:一文搞懂车载CIS图像传感器技术演进与选型避坑

本文深入解析车载CIS图像传感器从FSI到三层堆叠的技术演进,揭示不同结构在低光性能、HDR表现和温度稳定性上的关键差异。通过实测数据对比,指导智能驾驶系统选型策略,帮助开发者规避成本与性能的常见陷阱,提升车载摄像头在复杂环境下的成像质量。

weixin_30689307的博客 101

ios swift5 日期时间显示器 UIDatePicker 日期时间选择 前一天 后一天

参考博客: 40-Swift之UIDatePicker(日期选择器) UIDatePicker 日期/时间选取器(滚轮)—IOS开发

baidu_40537062的博客 3058

利用Civil3D装配设计器(SAC)建设高度形状自适应挡土墙

之前的模型都是点线,最后加一个形状,形成面。再根据现场测得的挡土墙的墙脚的点生成中心线(alignment),在中心线的基础上生成在现有地面(existing ground level)的高程(profile)。简单的说,该墙的墙趾啊,墙踵啊,基底下面那个把儿啊,都是随着高度变化的,而高度是随着下面这个高程图变化的。接着出现角度和Y的文本框,角度92,y 值随便写一个,然后重要的是,高程目标选路面(优先于Y值)。意思是P2的高度,也就是路面的高程,减去P10,墙脚高程,再减去墙脚埋进地里的深度0.8m。

测量老覃 的博客 1131

SwiftUI中DatePicker学习

swiftUI中DatePicker学习分享 1、最简单的调用 2、年月日时分显示时,不出现年份的解决方法 3、滚动式控件的界面 4、DatePicker的中文化和国际化 5、日历列表控件界面 6、日期设置范围

大大狗之家 2979

方法二:旋转机械动平衡精度计算

本文以实际案例为基础,系统阐述基于ISO 1940标准的动平衡精度G GG等级计算方法。通过角速度转换、许用剩余不平衡量e p e r e_{per}e per ​ 推导及G GG等级公式应用,结合惯性力偶矩、转子质量等参数,得出某转子系统的动平衡精度为G 40 G40G40。文中详细解析了公式原理与参数单位转换要点,并附完整ISO 1940动平衡等级参考表,为工程师提供从理论到实践的完整解决方案。研究结果表明,该方法可有效量化旋转机械的平衡精度,适用于风机、泵类等中低速设备的设计与调试,对提升设备运行

weixin_46153372的博客 922

PaddleOCR SVTRv2中文识别模型训练全流程:从数据准备到推理部署

本文详细介绍了基于PaddleOCR的SVTRv2中文识别模型从数据准备、模型训练到推理部署的全流程实战。SVTRv2凭借其单视觉Transformer架构和分层混合机制,在中文文字识别任务上实现了高精度与效率的平衡。文章重点解析了数据工程、训练调优技巧及部署优化方案,帮助开发者构建定制化的OCR解决方案。

weixin_29194817的博客 287

swift中UIDatePicker的使用

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

番薯大佬的专栏 6039

把 ABAP 经验装进 GitHub Copilot 的按需大脑,Agent Skills 如何改变 ABAP 开发

2026 年 8 月,SAP Community 上出现了一次很有代表性的 ABAP 实验。开发者把标准 Flight Model 里的复制成自己的测试类,删除原有 ABAP Unit Test,再让 GitHub Copilot Agent 为方法重新生成测试代码。真正有意思的地方并不是 Copilot 会不会写,而是开发者给 Copilot 准备了两个专门的 Agent Skills,一个负责 ABAP Unit Test 的通用规则,一个负责 ABAP Test Double Framework。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 157

Swift - UIDatePicker

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

iOS - Swift 1239

19、多项式基算术:原理与运算详解

本文深入探讨了有限域 $GF(2^m)$ 中的多项式基算术,详细介绍了加法、减法、乘法和平方运算的原理与实现方法。重点分析了多项式基表示形式、模约简技术以及乘法优化策略,如高基数乘法、并行与顺序乘法器设计,并提到了Karatsuba-Ofman算法在减少乘法次数方面的优势。此外,文章还讨论了多项式基算术在密码学、编码理论等领域的应用前景,并展望了未来在高效算法设计与硬件加速方面的研究方向。

yellow的专栏 150

OpenCASCADE:写IGES

OpenCASCADE:写IGES程序涵盖的领域流程说明初始化过程设置翻译参数执行 Open CASCADE Technology 形状转换编写 IGES 文件将开放级联技术形状映射到 IGES 实体曲线表面拓扑实体——人脸模式下的平移公差管理在 IGES 文件中设置分辨率代码架构调用图例子 程序 您可以通过以下步骤将 OCCT 形状转换为 IGES 实体: 初始化进程。 设置翻译参数, 执行模型翻译, 写入输出 IGES 文件。 您可以在写入文件之前转换多个形状。每个形状都将是 IGES 模型中的根实体。

希望我的博客,能帮上你解决学习中工作中所遇到的问题 923

UIDatePicker使用 Swift

定义变量 var datePickerView = UIDatePicker() var selectDateValue = ""//选中的Date,String类型 创建UIDatePicker let y = 84*HeightRate datePickerView = UIDatePicker(frame: CGRect(x: 0, y: y, width: datePickerB...

weixin_42012181的博客 387

使用mindie:2.0.RC2-800I-A2-py311-openeuler24.03-lts制作一个通用的模型推理性能测试的镜像

本文详细介绍了在NPU环境下进行模型推理性能测试的完整流程。首先配置了测试所需的环境和设备信息,包括Python 3.10.9和3.11.6版本、测试脚本和镜像文件。然后分步骤说明了镜像制作过程:创建特权容器、安装Python 3.10.9、配置VLLM环境,并详细描述了测试容器的启动方法。最后提供了镜像打包和使用指南,包括如何加载镜像、启动容器、运行测试脚本(以DeepSeek-32B模型为例)以及更换测试模型的步骤。整个过程涉及环境变量配置、权限设置和服务启动等关键操作。

m0_50105717的博客 1015

UIDatePicker swift

// // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fangyuhao. All rights reserved. // import UIKit class ViewController: UIViewController{ @IBOutlet...

weixin_30888707的博客 94

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【Swift】UIKit:UIAlertController、UIImageView、UIDatePicker、UIPickerView和UISwitch

UIAlertController 是 iOS 8+ 推出的弹窗组件,用于替代旧版 UIAlertView 和 UIActionSheet。它支持两种样式:居中弹窗(alert)和底部弹出框(actionSheet),可添加按钮、输入框,实现提示、确认、输入等功能。关键方法包括创建弹窗、添加按钮/输入框、显示弹窗等。需要注意 iPad 适配、输入框安全获取、闭包循环引用等问题。UIImageView 是图片展示组件,支持静态图片显示和动态轮播,可配置内容模式、轮播参数等。两者都是 iOS 开发中常用的 UI

Antonio915的博客 1319

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Swift基础(二十七)UIDatePicker

class RootViewController: UIViewController {     override func viewDidLoad() {         super.viewDidLoad()         // Do any additional setup after loading the view.         self.view.background

HumorousGhost 746

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

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

Swift - 日期选择控件(UIDatePicker)的用法

纯代码创建日期选择控件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

swift_vip的博客 5310

UIDatePicker倒计时 swift

// // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fangyuhao. All rights reserved. // import UIKit class ViewController: UIViewController{ var ctime...

weixin_30693683的博客 121

Swift 自定义 UIDatePicker

UIDatePicker是个很好用的控件,但是有时候UI设计的样式和UIDatePicker的样式完全不同,那么这个时候我们该怎么办呢?接下来就分享给大家 比如这个样式// 扩展UIDatePicker类 extension UIDatePicker { // 去掉中间 row 上的分割线 func clearSepearatorLine() { for subVi

Shinkai_的博客 1524

web 时间选择器 java_UIDatePicker时间选择器的使用_Swift教程

UIDatePicker时间选择器是swift中的一个类,虽然官网的UIDatePicker时间选择器不是很好看,但是也是swift中非常重要的组件,下面来通过教程示例学习一下如何使用UIDatePicker组件。importUIKitclassViewController:UIViewController{overridefuncviewDidLoad(){super.viewDi...

weixin_28973649的博客 473
上一篇: swift UIScrollView
下一篇: swift 简单倒计时
Nackery
博客等级 码龄11年 7粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值