我有2个日期并希望为特定事件设置不同的颜色,请帮助如何做到这一点.
我正在尝试实现以下代码,但它没有工作它的返回零没有颜色效果没有错误没有什么被困在这请求帮助.
import UIKit
import FSCalendar
class myCalendarViewController: UIViewController,FSCalendarDelegate,FSCalendarDataSource,FSCalendarDelegateAppearance {
var presentdays = [String]()
var absentdays = [String]()
@IBOutlet weak var calendar: FSCalendar!
fileprivate let gregorian: Calendar = Calendar(identifier: .gregorian)
fileprivate lazy var dateFormatter1: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy/MM/dd"
return formatter
}()
override func viewDidLoad() {
super.viewDidLoad()
}
func calendar(_ calendar: FSCalendar,appearance: FSCalendarappearance,titleDefaultColorFor date: Date) -> UIColor? {
presentdays = ["2017-06-03","2017-06-06","2017-06-12","2017-06-25"]
absentdays = ["2017-06-10","2017-06-18","2017-06-15","2017-06-16"]
let datestring2 : String = dateFormatter1.string(from:date)
if presentdays.contains(datestring2)
{
return UIColor.green
}
else if absentdays.contains(datestring2)
{
return UIColor.red
}
else{
return nil
}
}
}
DateFormatter的dateFormat和数组中的字符串日期不匹配,因此将dateFormat更改为yyyy-MM-dd,然后检查数组是否包含对象.
fileprivate lazy var dateFormatter1: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
return formatter
}()