DurationPicker 是一个 iOS 库,提供一个可自定义的控件,用于输入 0 到 24 小时之间的时间值。它可以作为 UIDatePicker 中 countDownTimer 模式的直接替代品,并增加了时间输入的额外功能。
UIDatePicker
的 countDownTimer
模式相匹配要使用 DurationPicker,只需创建 DurationPicker
的一个实例并将其添加到您的视图层级结构中。您可以使用以下属性自定义您的选择器
pickerMode
:选择器的模式,决定持续时间选择器是否允许选择小时、分钟和/或秒{hour|minute|second}Interval
:持续时间选择器应显示的间隔{minimum|maximum}Duration
:选择器可以显示的最小/最大持续时间以下代码将生成以下持续时间选择器。
import DurationPicker
let picker = DurationPicker()
addSubview(picker)
picker.pickerMode = .minuteSecond
picker.minuteInterval = 5
picker.secondInterval = 30
picker.minimumDuration = (15 * 60) // 15 minutes
picker.maximumDuration = (45 * 60) + 30 // 45 minutes, 30 seconds
也可以通过 duration
属性以编程方式设置所选持续时间。
picker.duration = (30 * 60) + 30 // 30 minutes, 30 seconds
您可以使用 UIActions 对持续时间选择器值的更改做出反应。
let action = UIAction { [weak picker] _ in
guard let picker else { return }
print(picker.duration) // 1830
},
for: .primaryAction)
picker.addAction(action)
要查看 DurationPicker
的实际效果,请克隆存储库并打开 DurationPickerDemo
项目。
除了演示 DurationPicker
的功能外,演示应用程序还展示了如何在现代集合视图中使用 DurationPicker
。
完整文档可在 Github Pages 上查阅。
DurationPicker 可通过 Swift PM 获取。要安装它,只需在 Package.swift
中将该包添加为依赖项
dependencies: [
.package(url: "https://github.com/mac-gallagher/DurationPicker.git", from: "1.0.0"),
]
下载并将 Sources
目录拖放到您的项目中。
DurationPicker 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE。
欢迎贡献!Fork 该仓库,进行更改,并提交 pull request。