SwiftyHolidayUtilは、土曜日・日曜日・祝日をハイライトするライブラリーです。
サンプルプロジェクトを実行するには、Exampleディレクトリーで pod installを実行します。
- Swit 4.2
CocoaPodsで使用する場合は、.PodFileに以下を記述します。
pod 'SwiftyHolidayUtil'UILabelのExtensionで実装しているため、簡単に使用することができます。
import SwiftyHolidayUtil
let label:UILabel = UILabel()
label.frame = CGRect(x: 0, y: 0, width: 200, height: 20)
label.date = Date()もし、iPhoneの使用言語が英語で地域がアメリカで設定されている場合(en_US)、以下のように表示されます。
日付のスタイル(SwiftyHolidayUtil.dateStyle)を指定できます。
| dateStyle |
|---|
| .short |
| .medium (default) |
| .long |
| .custom(customFormat:String) |
label.dateStyle = .short
label.date = Date()label.dateStyle = .long
label.date = Date()ロケールの設定が可能です。書式は言語コードに、祝日の判定と、土・日・祝日の色の表示は、地域コード(Regionコード)によって決定されます。
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 or HexString (ex. "#FF0000") |
| .saturdayColor | UIColor or HexString |
| .sundayColor | UIColor or HexString |
| .weekSymbolType | WeekSymbolType.standalone / .short / .veryshort |
| .weekPosision | WeekPosition.head / .tail |
| .shortWeekPrefix | String : dateStyle: .long の場合の接頭辞を指定します。 |
| .shortWeekSuffix | String : dateStyle: .long の場合の接尾辞を指定します。 |
| .mediumWeekPrefix | String : dateStyle: .medium の場合の接頭辞を指定します。 |
| .mediumWeekSuffix | String : dateStyle: .medium の場合の接尾辞を指定します。 |
| .longWeekPrefix | String : dateStyle: .long の場合の接頭辞を指定します。 |
| .longWeekSuffix | String : dateStyle: .long の場合の接尾辞を指定します。 |
| .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()日本は土曜日は青、日曜・祝日は赤が慣例ですが、他の国は千差万別だと思います。 リージョン毎で設定できるように作ってあるので、以下のような組み合わせで初期値として実装が可能です。 プルリクください。
- HolidayUtil+defaulRegionOptions.swift
"JP": [
FormatOptionKey.saturdayColor: UIColor.blue,
FormatOptionKey.sundayColor: UIColor.red,
FormatOptionKey.holidayColor: UIColor.red
]現在は日本の判定ロジック(fumiyasacさんのfumiyasac/handMadeCalendarOfSwift )のみを実装しています。
USと韓国とベトナムの暫定コードを実装していますが、このコードは2019年しか正しく動作しません。 各国の祝日判定のロジックがあれば実装してもらえたらと思います。
kazuomatz, getlasterror@gmail.com
SwiftyHolidayUtil is available under the MIT license. See the LICENSE file for more info.






