我正在使用 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)
请按照步骤操作。
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)。现在运行它。:)