我使用FSCalendar。
我如何分配周末?例如红色是周末,除周末以外的其他日子是蓝色。我的意思是不分配星期几(如星期日、星期六),即day,即date:
星期一是 0 - 蓝色
星期二是 1 - 蓝色
...
星期六是 5 - 红色
星期日是 6 - 红色
星期一是 7 - 蓝色
...
星期六是 12 - 红色
星期日是 13 - 红色
等等
我使用FSCalendar。
我如何分配周末?例如红色是周末,除周末以外的其他日子是蓝色。我的意思是不分配星期几(如星期日、星期六),即day,即date:
星期一是 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())
}