SwiftUI 的 DatePicker
只有两种模式 (date
和 hourAndMinute
),在许多情况下这并不足够。通常,您需要在更多模式之间切换。ExtendedDatePicker 支持更丰富的模式集,因此您可以将时间花在最重要的事情上 - 为您的用户构建有用的体验。
小时 | 日期 | 日期时间 | 周 | 年月 | 年 |
---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
可以使用 Swift Package Manager,通过 git url https://github.com/abdullah-original/ExtendedDatePicker.git
在您的应用程序中安装 ExtendedDatePicker
。
同时提供了静态库和动态库。
ExtendedDatePicker(
selectedDate: Binding<Date>,
dateRange: ClosedRange<Date>,
mode: DateMode,
calendar: Calendar,
options: ExtendedDatePickerOptions
)
如上所述初始化日期选择器。如果您想提供自定义的 locale 或时区,请通过 calendar 参数进行设置,否则将使用默认值。
此外,可以使用 options: ExtendedDatePickerOptions
参数自定义一些 UI 元素(例如,后退和前进箭头)。
客户端必须至少提供 selectedDate
、dateRange
、mode
参数。 selectedDate
是一个状态对象,用于跟踪用户当前选择的日期。
关于日期模式的信息
week
: 例如,如果用户选择了 2024 年 2 月 2 日至 2 月 8 日,则 selectedDate
将为 2-2-2024
。monthYear
: 例如,如果用户选择了 2024 年 2 月,则 selectedDate
将为 x-2-2024
。不对 x
做出任何保证。year
: 例如,如果用户选择了 2024 年,则 selectedDate
将为 x-y-2024
。不对 x
或 y
做出任何保证。在 monthYear
或 year
模式下,客户端应仅从 selectedDate
中提取相关组件,即 calendar.component(.year, from: selectedDate)
。
如果您有任何反馈或改进建议,请随时提出 issue。