3

大家好,我现在正在处理 WenchaoD 的 FSCalendar。我成功加载了包含许多事件的日历。但现在的问题是如何更改特定日期的日期标题颜色。谁能建议我如何做到这一点?

4

1 回答 1

8

1)首先实现FSCalendarDelegateAppearance

2)假设您有一个包含一些日期的数组,让我们先声明一个数组。

var somedays : Array = [String]()

3)现在您需要格式化程序将字符串更改为日期。

fileprivate let gregorian: Calendar = Calendar(identifier: .gregorian)
fileprivate lazy var dateFormatter1: DateFormatter = {
    let formatter = DateFormatter()
    formatter.dateFormat = "yyyy-MM-dd"
    return formatter
}()

4) FSCalendarDelegateAppearance 有一种方法名为:titleDefaultColorFor

5)使用以下代码实现此方法。

func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, titleDefaultColorFor date: Date) -> UIColor? {

    somedays = ["2017-06-03",
                "2017-06-06",
                "2017-06-12",
                "2017-06-25"]
    let dateString : String = dateFormatter1.string(from:date)

    if self.somedays.contains(dateString) {
        return .green
    } else {
        return nil
    }
}

6)运行此代码。快乐编码。

于 2017-06-16T08:37:00.003 回答