在 FSCalendar 中显示来自 API 的事件
Display Events from API in FSCalendar
这是我对 api
的回复
SUCCESS: {
"5": {
"count": 1,
"topEvent": false
},
"6": {
"count": 1,
"topEvent": false
},
"7": {
"count": 3,
"topEvent": true
},
"success": 1
}
在此回复中,我在第 5、6 和 7 天有活动,其余日子没有活动。
现在,我需要在日历图标的中心显示计数,当 topEvent 为真时它应该是绿色的。
我在
中应用了什么逻辑
func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int {
}
请帮帮我..
如果您有日期参数,则要根据日期设置事件。
DateFormatter 和变量的实例:
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"]
fileprivate lazy var dateFormatter2: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
return formatter
}()
func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int {
let dateString = self.dateFormatter2.string(from: date)
if self.datesWithEvent.contains(dateString) {
return 1
}
if self.datesWithMultipleEvents.contains(dateString) {
return 3
}
return 0
}
为了高亮事件
func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, eventDefaultColorsFor date: Date) -> [UIColor]? {
let key = self.dateFormatter2.string(from: date)
if (self.remainderDates.contains(key)) {
return [UIColor.red]
}
return nil
}
这是我对 api
的回复SUCCESS: {
"5": {
"count": 1,
"topEvent": false
},
"6": {
"count": 1,
"topEvent": false
},
"7": {
"count": 3,
"topEvent": true
},
"success": 1
}
在此回复中,我在第 5、6 和 7 天有活动,其余日子没有活动。 现在,我需要在日历图标的中心显示计数,当 topEvent 为真时它应该是绿色的。
我在
中应用了什么逻辑func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int {
}
请帮帮我..
如果您有日期参数,则要根据日期设置事件。 DateFormatter 和变量的实例:
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"]
fileprivate lazy var dateFormatter2: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
return formatter
}()
func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int {
let dateString = self.dateFormatter2.string(from: date)
if self.datesWithEvent.contains(dateString) {
return 1
}
if self.datesWithMultipleEvents.contains(dateString) {
return 3
}
return 0
}
为了高亮事件
func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, eventDefaultColorsFor date: Date) -> [UIColor]? {
let key = self.dateFormatter2.string(from: date)
if (self.remainderDates.contains(key)) {
return [UIColor.red]
}
return nil
}