尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

SwiftyPickerPopover 之 DatePickerPopover:日期时间选择器从入门到精通

SwiftyPickerPopover 之 DatePickerPopover:日期时间选择器从入门到精通 SwiftyPickerPopover 之 DatePickerPopover日期时间选择器从入门到精通【免费下载链接】SwiftyPickerPopoverA more convenient way to display a popover with a built-in picker, on iPhone/iPad of iOS9.项目地址: https://gitcode.com/gh_mirrors/sw/SwiftyPickerPopoverSwiftyPickerPopover是 iOS 开发中非常实用的开源弹窗组件它让你只需几行 Swift 代码就能在 iPhone 和 iPad 上优雅地弹出内置的日期时间选择器。本文将聚焦其中的 DatePickerPopover从安装、快速上手到进阶配置逐一讲解帮助新手轻松实现日期选择功能也让老手快速掌握全部定制技巧。 文章速览本教程包含 1 个最简示例、6 个核心配置 API、3 个实战场景读完即可直接应用到自己的项目中。为什么选择 SwiftyPickerPopover 做日期时间选择器比起自己手写 UIPopoverController 再往里面塞 UIDatePickerSwiftyPickerPopover 拥有这些优势代码极简一条链式调用即可弹出完整日期选择弹窗全面适配支持 iOS 9、Swift 5iPhone / iPad 通用回调灵活支持 Done / Cancel / Clear 按钮与值变化实时回调原生体验基于 UIDatePicker 构建界面与系统风格完全一致家族丰富除 DatePickerPopover 外还提供 StringPickerPopover、ColumnStringPickerPopover、CountdownPickerPopover 等多种选择器快速上手一行代码弹出日期时间选择器的步骤在 Demo/SampleViewController.swift 中给出了最简示例核心代码只有几行DatePickerPopover(title: DatePicker) .setDateMode(.date) .setSelectedDate(Date()) .setDoneButton(action: { popover, selectedDate in print(selectedDate \(selectedDate)) }) .setCancelButton(action: { _, _ in print(cancel)}) .appear(originView: sender, baseViewController: self)点击按钮即可看到从按钮位置弹出的日期选择弹窗点击 Done 后回调会返回选中的 Date 对象点击弹窗外区域或 Cancel 即可关闭全程无需任何代理协议。安装配置最快的方法CocoaPods在项目的 Podfile 中添加一行依赖platform :ios, 9.0 use_frameworks! target YourProjectTargetName do pod SwiftyPickerPopover end运行pod install后在需要使用的地方import SwiftyPickerPopover即可。版本信息可参考 SwiftyPickerPopover.podspec。进阶配置日期时间选择器的 6 个实用配置方法DatePickerPopover 的链式 API 定义在 DatePickerPopover.swift 中下面这 6 个方法覆盖了 90% 的开发需求setDateMode()切换.date、.time、.dateAndTime、.countDownTimer四种模式setSelectedDate()设置弹窗默认选中的日期setMinimumDate() / setMaximumDate()限定可选日期范围setMinuteInterval()设置分钟步进间隔比如 5 分钟一跳setLocale()设置地区标识控制日期显示格式如zh_CN显示中文setValueChange()用户每次滚动滚轮时实时回调当前值以5 分钟间隔的时间选择器为例见 SampleViewController.swiftDatePickerPopover(title: DatePicker .time 5minInt.) .setDateMode(.time) .setMinuteInterval(5) .setPermittedArrowDirections(.down) .setDoneButton(action: { popover, selectedDate in print(selectedDate \(selectedDate)) }) .appear(originView: sender, baseViewController: self)打造可清除的日期时间选择器某些业务场景如筛选条件需要提供清除按钮让用户一键重置日期。DatePickerPopover 通过 setClearButton() 配合 reload() 实现let p DatePickerPopover(title: Clearable DatePicker) .setClearButton(action: { popover, selectedDate in popover.setSelectedDate(Date()).reload() // 回卷到当前日期 }) p.appear(originView: sender, baseViewController: self) p.disappearAutomatically(after: 3.0) // 3 秒后自动关闭更妙的是disappearAutomatically(after:)会让弹窗在指定秒数后自动消失非常适合轻提示类场景。更灵活的弹出方式与交互细节除了从普通按钮弹出库还支持多种展示姿势从导航栏按钮弹出appear(barButtonItem:baseViewController:)控制外部点击setOutsideTapDismissing(allowed:)决定点击弹窗外是否关闭添加遮罩setDimmedBackgroundView(enabled:)为背景加半透明蒙层定制外观setSize(width:height:)、setCornerRadius()、setArrowColor()随心调整这些通用能力定义在基类 AbstractPopover.swift 中所有选择器弹窗共享。源码导读DatePickerPopover 内部结构想深入了解实现原理核心源码只有两个文件DatePickerPopover.swift定义所有链式 API 与属性日期模式、范围、间隔、按钮参数等DatePickerPopoverViewController.swift负责把属性刷新到 UIDatePicker 和按钮上并处理点击回调UI 部分基于 DatePickerPopover.storyboard 搭建你甚至可以自定义 storyboard 来彻底改变弹窗外观。如需查看完整源码可执行git clone https://gitcode.com/gh_mirrors/sw/SwiftyPickerPopover常见问题 FAQQiPhone 上弹窗显示异常怎么办不用担心库内部已通过adaptivePresentationStyle返回.none处理了 iPhone 的适配见 AbstractPickerPopoverViewController.swift无需额外配置。Q日期选择器显示英文怎么切换中文调用.setLocale(identifier: zh_CN)即可。Q如何限制用户只能选择今天及以后的日期使用.setMinimumDate(Date())一键搞定。总结从安装到进阶配置DatePickerPopover 让日期时间选择器弹窗变得前所未有的简单几行链式代码、零代理协议、开箱即用的原生体验。无论你是刚接触 iOS 开发的新手还是追求效率的资深工程师都可以把它作为项目中的首选日期选择方案。快去试试吧【免费下载链接】SwiftyPickerPopoverA more convenient way to display a popover with a built-in picker, on iPhone/iPad of iOS9.项目地址: https://gitcode.com/gh_mirrors/sw/SwiftyPickerPopover创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表