🗓 🇮🇷 波斯语日期选择器
iPhone自带一个日期选择器,可以为其设置Locale和Calendar,以便我们可以选择波斯语日期。但我个人觉得这不是很有趣;因为使用它
- 每次只能选择一个日期。
- 使用系统默认字体。
- 看起来不漂亮。
因此,我决定实现一些具有以下特性/缺陷的解决方案。我还放了几张照片,以便您在(使用之前)欣赏一下。
![]() |
![]() |
![]() |
安装
您可以使用 Cocoapod
安装它。使用的安装语句是这样的
pod 'IDPersianDatePicker'
相關
步骤一
第一步是导入它
import PersianDatePicker
IDPersianDatePicker
进行安装,但使用PersianDatePicker
进行导入。之所以这样做,是因为Pod中已经存在一个名为PersianDatePicker
的库,因此我不得不在这个CocoaPod中使用不同的名称来发布这个工具。
第二步
接下来的步骤是让您的视图控制器实现一个协议。需要实现的协议是 PersianDatePickerDelegate
。这个协议的职责是准备用于选择器的数据和特性。
它包含的方法和特性如下
- 方法
persianDatePicker(canSelectDate date: Date)
,返回类型为Bool
使用这个方法,您可以阻止选择一系列日期。
- 方法
persianDatePicker(didSelectDates dates: [Date])
当用户点击选择按钮时,可以选择的日期将通过此方法提供。
第三步
以下是调用和显示选择器的步骤
PersianDatePicker.Present(
sourceController : UIViewController,
configuration : PersianDatePicker.Configuration,
delegate : PersianDatePickerDelegate,
completion : (() -> Void)?
)
PersianDatePicker.Configuration
)
设置(或说 在这个版本中,我将选择器需要的设置从 delegate
分离出来了。现在在显示时,您需要构建所需的设置并将其传递。这些设置分为几个主要部分
ui
)
用户界面设置(特性 var font: UIFont = .systemFont(ofSize: 16, weight: .regular)
- 指明使用的字体。
var selectedDayTextColor: UIColor = .black
- 指定选择元素文本的颜色。
var selectedDayBackgroundColor: UIColor = /* a_beautiful_color */
- 指定选择元素背景的颜色。
texts
)
文本设置(特性 var title: String = "تاریخ مورد نظر خود را انتخاب نمایید"
- 指定要显示的标题。
var message: String? = nil
- 指定要显示的描述。
selection
)
选择日期设置(标识 var minimumDate: Date
var maximumDate: Date
- 这些设置确定日历中的最小和最大日期。
var canSelectMultipleDates: Bool = false
- 这个属性表示是否可以选择多个日期,或者只能选择一个日期。
- 此属性的默认值是
false
。
var preselectedDates: [Date] = []
- 本属性指定了默认选中的日期。
- 如果此属性不为空,则默认情况下会显示一个包含所选最早日期的页面。
var defaultDay: Date? = nil
- 这个属性指定了日历显示的默认日期。也就是说,如果该属性有值,则默认情况下会显示包含该日期的日历页面。
- 此属性的默认值是
nil
。 - 如果没有预设日期,并且此属性也无值,则默认情况下会显示日历的第一个页面;即包含
minimumDate
的页面。 - 为了设置默认日历页面,
preselectedDates
的优先级高于此属性。
结语
👀 如果在实施或使用过程中发现任何问题,请务必告知我们以便解决。🤝 如果想到任何可以使这个项目变得更好的特定功能,请务必告诉我;我们可能通过其他人的帮助来实现它。😋 独一无二。