SwiftyHolidayUtil
关于
SwiftyHolidayUtil 是一个突出显示节日的库。
示例
要运行示例项目,请克隆该仓库,然后首先从 Example 目录运行 pod install
。
要求
- Swit 4.2
安装
SwiftyHolidayUtil 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中:
pod 'SwiftyHolidayUtil'
使用方法
非常简单,它可以作为 UILabel 的扩展使用。
import SwiftyHolidayUtil
let label:UILabel = UILabel()
label.frame = CGRect(x: 0, y: 0, width: 200, height: 20)
label.date = Date()
如果您的设备区域设置为 "en_US",则显示如下。
日期风格
SwiftyHolidayUtil.dateStyle
dateStyle |
---|
.short |
.medium (默认) |
.long |
.custom(customFormat:String) |
label.dateStyle = .short
label.date = Date()
label.dateStyle = .long
label.date = Date()
区域设置
label.locale = Locale(identifier: "ja_JP")
label.dateStyle = .long
label.date = Date()
label.locale = Locale(identifier: "ja_JP")
label.dateStyle = .mediunm
label.date = Date()
选项
SwiftyHolidayUtil.holidayFormatOptions
FormatOptionKey | value |
---|---|
.holidayColor | UIColor 或 HexString (例. "#FF0000") |
.saturdayColor | UIColor 或 HexString |
.sundayColor | UIColor 或 HexString |
.weekSymbolType | WeekSymbolType.standalone / .short / .veryshort |
.weekPosision | WeekPosition.head / .tail |
.shortWeekPrefix | String : 长日期风格下周字符串的前缀 |
.shortWeekSuffix | String : 短日期风格下周字符串的后缀 |
.mediumWeekPrefix | String : 中日期风格下周字符串的前缀 |
.mediumWeekSuffix | String : 短日期风格下周字符串的后缀 |
.longWeekPrefix | String : 长日期风格下周字符串的前缀 |
.longWeekSuffix | String : 长日期风格下周字符串的后缀 |
.timeStyle | TimeStyle.long / .medium / .short / .none(default) / .full / .custom(customFormat: String) |
label.locale = Locale(identifier: "ja_JP")
label.dateStyle = .mediunm
label.holidayFormatOptions = [
.holidayColor: "#077705",
.mediumWeekPrefix: "【",
.mediumWeekSuffix: "】",
.weekPosision: SwiftyHolidayUtil.WeekPosition.head
]
label.date = Date()
每日颜色
在我所在的日本,我们用蓝色表示周六,用红色表示周日和假期。在您的国家,您用什么颜色表示周六、周日和假期呢?
请pull request区域代码和颜色。
- HolidayUtil+defaulRegionOptions.swift
"JP": [
FormatOptionKey.saturdayColor: UIColor.blue,
FormatOptionKey.sundayColor: UIColor.red,
FormatOptionKey.holidayColor: UIColor.red
]
假期计算逻辑
目前仅实现了日本的假期计算逻辑。
fumiyasac/handMadeCalendarOfSwift
美国、韩国和越南已经实现了暂时性逻辑。然而,它并不完整,只能计算出2019年的假期。如果您处理您国家的完美逻辑,请实现并提交拉取请求。
作者
kazuomatz, [email protected]
许可证
SwiftyHolidayUtil 适用于 MIT 许可证。更多信息请参阅 LICENSE 文件。