分配周末日 FSCalendar
Posted
技术标签:
【中文标题】分配周末日 FSCalendar【英文标题】:Allocate weekend day FSCalendar 【发布时间】:2018-01-27 07:53:28 【问题描述】:我使用FSCalendar。
我如何分配周末天?例如,红色是周末,其他天除了周末是蓝色。我的意思是分配而不是星期中的天(如星期天、星期六),即天,即日期:
星期一是 0 - 蓝色
星期二是 1 - 蓝色
...
星期六是 5 - 红色
星期日是 6 - 红色
星期一是 7 - 蓝色
...
星期六是 12 - 红色
星期天是 13 - 红色
等等
【问题讨论】:
【参考方案1】:使用Date
的扩展方法在您的willDisplayCell
方法中进行周末/工作日计算:
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
【讨论】:
在方法cellForDateAtMonthPosition
中你的意思是创建单元格? let cell = let cell = calendar.cell(for: date, at: .current)
并完成 return cell!
?
是的。出列一个单元格。如果出队的单元格为 nil,则创建自己的单元格并返回它。
我明白,但我把identifier
换成dequeueReusableCell
?
好的,然后在“willDisplayCell”方法中执行我在回答中提到的所有逻辑。那应该可以。【参考方案2】:
我找到了以两个字符显示工作日名称的解决方案。您还可以更改我在下面提到的工作日标签的颜色,请检查。
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())
【讨论】:
以上是关于分配周末日 FSCalendar的主要内容,如果未能解决你的问题,请参考以下文章
区块链学姐:4月30日 同比周末交易量持续缩减,多方需谨慎留意