FSCalendar - 更改所选日期的背景颜色 Swift 3?

Sal*_*han 3 swift3

我正在使用 FSCalendar 在我的项目中添加日历 UI。但我无法找到任何解决方案来更改某些选定日期的背景颜色。谁能建议我如何在 swift 3 中更改 FSCalendar 中选定日期的颜色?

import FSCalendar
  fileprivate weak var calendar: FSCalendar!
    override func viewDidLoad() {
    super.viewDidLoad()

    // In loadView or viewDidLoad
    let calendar = FSCalendar(frame: CGRect(x: 0, y: 0, width: 320, height: 300))
    calendar.dataSource = self
    calendar.delegate = self
    view.addSubview(calendar)
    self.calendar = calendar

    // Do any additional setup after loading the view.
}
Run Code Online (Sandbox Code Playgroud)

Nik*_*ani 5

请按照步骤操作。

1)。添加委托 FSCalendarDelegateAppearance

2)。下面是我的参考数组。你应该有你的

let selectedDates = ["2017/01/08", "2017/01/06", "2017/01/17"]
Run Code Online (Sandbox Code Playgroud)

3)。添加您的日期格式化程序

fileprivate lazy var dateFormatter1: DateFormatter = {
    let formatter = DateFormatter()
    formatter.dateFormat = "yyyy/MM/dd"
    return formatter
}()
Run Code Online (Sandbox Code Playgroud)

3)。使用选择日期

calendar.select(self.dateFormatter1.date(from: "2017/01/08"))
Run Code Online (Sandbox Code Playgroud)

4). 添加颜色更改的委托方法。

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

    let dateString = self.dateFormatter1.string(from: date)

    if self.selectedDates.contains(dateString) {
        return UIColor.green
    }

    return appearance.selectionColor
}
Run Code Online (Sandbox Code Playgroud)

5)。现在运行它。:)