DateTimePicker
一个更友好的 iOS UI 组件,用于选择日期和时间。
功能
- 日期和时间选择器/仅日期选择器/仅时间选择器 - 您的选择!
- 限制选择日期在特定时间范围内
- 显示或隐藏日期单元格上的月份
- 时间无限滚动
- 自定义颜色和日期格式
- (v1.3) 基于约束的 UI
- (v2.0) 现在您可以创建一个独立的视图作为选择器视图!
- (v2.1.0)Carthage 现在得到了支持(抱歉有点晚)
- (v2.3.0) 可以选择自定义字体和颜色
- (v2.4.0) 显示秒数的选项
- (v2.5.0) SPM 支持
- 自定义时区和日历
🎯 )
待办事项(需要帮助!- 选择月份/年份的选项(需要 UI 灵感)
要求
- Swift 5 & Xcode 12
- 对于Swift 4.2,请使用分支
swift4.2
- 对于Swift 4.1,请使用分支
swift4.1
- 对于Swift 3.0,请使用版本 1.1.4
- iOS 10及以后版本
安装
使用Cocoapod
只需将以下内容添加到您的 podfile
pod 'DateTimePicker'
使用Carthage
从v2.1.0开始,您可以通过在Cartfile
中指定来使用Carthage将DateTimePicker整合到您的Xcode项目中。
github "itsmeichigo/DateTimePicker" ~> 2.1.0
运行carthage update
来构建框架,并将构建的DateTimePicker.framework
拖动到您的Xcode项目中。
使用Swift Package Manager
从v2.5.0开始,您可以通过SPM将DateTimePicker添加到您的项目中。在SPM配置窗口中粘贴此仓库的链接即可。
手动安装
将目录Source
拖动到您的项目中。请确保更新nib文件的自定义类模块,以便从您的当前目标继承,以便可以找到自定义文件。
演示
导航到名为 DateTimePickerDemo
的文件夹,运行 pod install
并打开工作区文件以与 DateTimePicker
进行交互。
用法
v2.0
从 v2.0 版本开始,可以单独创建选择器视图并将其添加到您想要的任何视图中。注意:选择器视图使用固定宽度和高度构建,因此不鼓励您手动更新它,否则会得到损坏的界面。如果需要,请只更改视图的 Y 位置。
let min = Date().addingTimeInterval(-60 * 60 * 24 * 4)
let max = Date().addingTimeInterval(60 * 60 * 24 * 4)
let picker = DateTimePicker.create(minimumDate: min, maximumDate: max)
picker.frame = CGRect(x: 0, y: 100, width: picker.frame.size.width, height: picker.frame.size.height)
self.view.addSubview(picker)
如果您仍然想使用旧的行为(类似于模态对话框显示选择器),可以调用 show
方法
let picker = DateTimePicker()
picker.show()
v1.3 及以下
对于旧版本,唯一的选择是使用内置的 show
方法,该方法返回一个 DateTimePicker
实例,并在顶层窗口上显示选择器,如同模态对话框。当点击取消按钮时,可以选择关闭选择器。
let picker = DateTimePicker.show()
自定义
有许多选项可以根据您的需求自定义选择器
minimumDate
和maximumDate
:选择器的日期和时间限制。您只能在创建选择器时设置这些参数,默认值为可用日期的前 10 天和后 10 天。如果您自行设置这些日期,请确保设置的最小日期早于最大日期。selectedDate
:选择器首次创建时选中的日期,默认为当前日期。选中的日期必须晚于minimumDate
且早于maximumDate
。locale
:显示的语言区域设置。默认为设备的区域设置。dateFormat
:选择器视图中显示的日期格式。默认为 HH:mm dd/MM/YYYY。cancelButtonTitle
:取消按钮的标题,默认为取消。todayButtonTitle
:重置时间按钮的标题,默认为今天。doneButtonTitle
:完成按钮的标题,默认为DONE。is12HourFormat
:是否显示12小时制时间,默认为false。isDatePickerOnly
:是否仅在选择器视图中显示日期,默认为false。isTimePickerOnly
:是否仅在选择器视图中显示时间,默认为false。includesMonth
:是否在日期单元格中包含月份,默认为false。includesSecond
:是否在时间选择中显示秒,默认为false。timeInterval
:时间间隔,以分钟为单位,默认为1。如果不使用默认值,则无限滚动关闭。timeZone
:选择器使用的时区,默认为设备时区。dismissHandler
:在选择器视图的取消按钮被点击时调用的回调块。delegate
:在选中新的日期或时间时,需要通知的对象。highlightColor
:自定义高亮颜色,默认为青色。darkColor
:自定义深色颜色,默认为灰色。doneBackgroundColor
:自定义“完成”按钮颜色,默认为深色颜色。daysBackgroundColor
:日期单元格的自定义背景颜色。customFontSetting
:组件中所有标签的自定义字体设置。
贡献
欢迎对错误修正或改进做出贡献。请随时提交pull请求。
许可证
DateTimePicker遵循MIT许可证。有关更多信息,请参阅LICENSE文件。