一款可自定义日期选择器的 SwiftUI 库
FXDatePicker
用于可自定义日期选择器的 SwiftUI 库。
特性
- 同时支持伊斯兰历和公历。
- 允许使用图像或 SF Symbol 在天数下方添加图像。
- 支持阿拉伯语和英语。
- 兼容暗黑模式和亮色模式。
- 提供完全自定义支持。
FXDatePicker 与 iOS 日期选择器
- 自定义:FXDatePicker 支持广泛的自定义,包括在日期下方添加图标。相比之下,iOS 日期选择器的功能比较基本,自定义选项有限。
- 用户界面:FXDatePicker 采用适合用户体验的现代化界面,而 iOS 日期选择器的外观标准且不可更改。
- 灵活性:FXDatePicker 非常适合创建特色鲜明、引人入胜的日期选择体验。而 iOS 日期选择器更适合需要基本日期选择功能的应用程序。
用法
- 添加一个绑定
Date
变量来保存选择内容。 - 创建一个
specialDates
数组,以便在日期下方添加图像。 - 初始化 FXDatePicker 并按需显示。
FXDatePickerView(selectedDate: $selectedDate, specialDates: specialDates)
使用 specialDates
添加自定义标记
specialDates
数组允许你在日历中的特定日期添加自定义标记。可以使用自定义图像或 SF Symbol 来突出显示这些日期。每个特殊日期都有其类型 (SpecialDateType
),它可以是图像的 ImageType
或 SF Symbol 的 SFSymbolsType
。以“日/月/年”格式设置日期。
向日期添加 SF Symbol
要使用 SF Symbol 来标记日期,请创建一个 SpecialDate
实例,并将其 dateType
设置为 .sfSymbols
。提供日期、符号的名称及其颜色:
let specialDates: [SpecialDate] = [
SpecialDate(dateType: .sfSymbols(SFSymbolsType(dateString: "2/1/2024",
imageName: "airplane.departure",
color: .blue)))
]
在上述示例中,飞机起飞符号将以蓝色显示在 2024 年 1 月 2 日。
向日期添加图像
要使用自定义图像标记特定日期,请将 dateType 设置为 .image,并提供日期和图像名称:
SpecialDate(dateType: .image(ImageType(dateString: "13/1/2024", imageName: "home"))
自定义 | 可用修饰符:
calenderType
可以使用 calendarType 更改日期选择器的类型。例如,要使用伊斯兰历:
FXDatePickerView(selectedDate: $selectedDate, specialDates: specialDates)
.calenderType(.hijri)
默认值为 .gregorian.
datePickerTheme
可以使用 datePickerTheme 自定义日期选择器的主题。例如:
FXDatePickerView(selectedDate: $selectedDate, specialDates: specialDates)
.datePickerTheme(main:
.init(
accentColor: Color(uiColor: UIColor(red: 0.23, green: 0.80, blue: 0.81, alpha: 1.00)),
monthTitle: .white,
days