1

这是我的代码。我正在尝试更改点颜色,但没有找到任何解决方案。谢谢

func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int {


    return 1;
}
func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, eventColorFor date: Date) -> UIColor? {

        return UIColor.red

}

这是这些事件点的示例图像:

压延机中的点的图像

4

1 回答 1

1

这个例子取自这里。基本上你只需使用给定的方法,检查事件类型或类似的东西,然后返回你喜欢的颜色。

//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个例子方法。我添加了示例中的字段,以便有一个“完整”示例来说明这种方法的外观。

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 中的链接示例类。这个例子很不言自明。

于 2017-12-29T17:45:11.293 回答