分配周末日期 FSCalendar

Allocate weekend day FSCalendar

我用FSCalendar.

如何分配周末一天?例如红色周末,其他除了周末[=47] =] 是 蓝色 。我的意思是 allocate 而不是 weekday (比如 星期天,星期六),即,即日期:

星期一是 0 - 蓝色

星期二是 1 - 蓝色

...

星期六是 5 - 红色

星期日是 6 - 红色

星期一是 7 - 蓝色

...

星期六是 12 - 红色

星期日是 13 - 红色

等等

willDisplayCell 方法中使用 Date 的扩展方法进行 周末/工作日 计算:

extension Date {
  var isWeekend: Bool {
    return NSCalendar(calendarIdentifier: NSCalendar.Identifier.gregorian)!.isDateInWeekend(self)
  }
}

根据是周末还是工作日,设置您的 FSCalendarCell 的以下属性:

cell?.eventIndicator.numberOfEvents = 1
cell?.eventIndicator.isHidden = false
cell?.eventIndicator.color = isWeekend ? UIColor.red : UIColor.blue

我找到了用两个字符显示工作日名称的解决方案。您还可以更改我在下面提到的工作日标签的颜色,请检查。

let weekdayEnumerator = calender.calendarWeekdayView.weekdayLabels
weekdayEnumerator.forEach { (cell) in
let c = cell
let str = c.text ?? " "
c.textColor = UIColor.red
c.text = String(str.dropLast())
}