如何更改 FSCalendar 中的事件点颜色
How to change Event Dot Color in FSCalender
这是我的代码。我正在尝试更改点颜色,但没有找到任何解决方案。谢谢
func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int {
return 1;
}
func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, eventColorFor date: Date) -> UIColor? {
return UIColor.red
}
这是这些事件点的示例图像:
这个例子来自here。基本上你只需使用给定的方法,检查事件类型或类似的东西,然后 return 你喜欢的颜色。
//Used by one of the example methods
var datesWithEvent = ["2015-10-03", "2015-10-06", "2015-10-12", "2015-10-25"]
var datesWithMultipleEvents = ["2015-10-08", "2015-10-16", "2015-10-20", "2015-10-28"]
//Used in one of the example methods
fileprivate lazy var dateFormatter2: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
return formatter
}()
完整的例子太长嵌入了,所以我只拿了2个例子方法。我添加了示例中的字段,以提供一个 "complete" 示例,说明这种方法的外观。
func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, eventColorFor date: Date) -> UIColor? {
//Do some checks and return whatever color you want to.
return UIColor.purple
}
func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, eventDefaultColorsFor date: Date) -> [UIColor]? {
let key = self.dateFormatter2.string(from: date)
if self.datesWithMultipleEvents.contains(key) {
return [UIColor.magenta, appearance.eventDefaultColor, UIColor.black]
}
return nil
}
为了更好地理解,请查看 Github 中的链接示例 class。这个例子不言自明。
这是我的代码。我正在尝试更改点颜色,但没有找到任何解决方案。谢谢
func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int {
return 1;
}
func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, eventColorFor date: Date) -> UIColor? {
return UIColor.red
}
这是这些事件点的示例图像:
这个例子来自here。基本上你只需使用给定的方法,检查事件类型或类似的东西,然后 return 你喜欢的颜色。
//Used by one of the example methods
var datesWithEvent = ["2015-10-03", "2015-10-06", "2015-10-12", "2015-10-25"]
var datesWithMultipleEvents = ["2015-10-08", "2015-10-16", "2015-10-20", "2015-10-28"]
//Used in one of the example methods
fileprivate lazy var dateFormatter2: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
return formatter
}()
完整的例子太长嵌入了,所以我只拿了2个例子方法。我添加了示例中的字段,以提供一个 "complete" 示例,说明这种方法的外观。
func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, eventColorFor date: Date) -> UIColor? {
//Do some checks and return whatever color you want to.
return UIColor.purple
}
func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, eventDefaultColorsFor date: Date) -> [UIColor]? {
let key = self.dateFormatter2.string(from: date)
if self.datesWithMultipleEvents.contains(key) {
return [UIColor.magenta, appearance.eventDefaultColor, UIColor.black]
}
return nil
}
为了更好地理解,请查看 Github 中的链接示例 class。这个例子不言自明。