DurationPicker

CI Documentation

DurationPicker 是一个 iOS 库,提供一个可自定义的控件,用于输入 0 到 24 小时之间的时间值。它可以作为 UIDatePickercountDownTimer 模式的直接替代品,并增加了时间输入的额外功能。

A screenshot of a duration picker showing the selected value of 1 hour, 30 minutes, and 45 seconds.

特性

用法

要使用 DurationPicker,只需创建 DurationPicker 的一个实例并将其添加到您的视图层级结构中。您可以使用以下属性自定义您的选择器

以下代码将生成以下持续时间选择器。

A screenshot of a duration picker showing the selected value of 30 minutes and 30 seconds.

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)

演示

A screenshot of the demo project for DurationPicker.

要查看 DurationPicker 的实际效果,请克隆存储库并打开 DurationPickerDemo 项目。

除了演示 DurationPicker 的功能外,演示应用程序还展示了如何在现代集合视图中使用 DurationPicker

文档

完整文档可在 Github Pages 上查阅。

安装

Swift Package Manager

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。