我已经使用swift从程序上添加了FSCalendar并从api调用中获取了事件列表。默认情况下,事件在事件日期下方显示为点状。但是我需要将事件显示在圆圈中而不是日期下方的圆点。我尝试了多种方法,但是没有用。有什么方法可以做到这一点?
func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int {
return Events[date.GetFormatedDateAsString(format: "dd.MM.YYYY")] ?? 0
}
答案 0 :(得分:0)
首先,您必须为FSCalendar定义数据源和委托。
例如,我的日历有一个Date数组:
var eventsDateArray: [Date] = [SomeDatesExample]
因此,当呈现日期时,我使用FSCalendarDelegateAppearance来更改单元格的外观,方法是使用 titleDefaultColorFor 和 fillDefaultColorFor :
extension CalendarViewController: FSCalendarDelegateAppearance {
// Return UIColor for numbers;
func calendar(_ calendar: FSCalendar,
appearance: FSCalendarAppearance,
titleDefaultColorFor date: Date
) -> UIColor? {
if self.eventsDateArray.contains(date) {
return Colors.white
// Return UIColor for eventsDateArray
}
return Colors.brownDark // Return Default Title Color
}
// Return UIColor for Background;
func calendar(_ calendar: FSCalendar,
appearance: FSCalendarAppearance,
fillDefaultColorFor date: Date
) -> UIColor? {
if self.eventsDateArray.contains(date) {
return Colors.blue // Return UIColor for eventsDateArray
}
return Colors.white // Return Default UIColor
}
}
基本上,您必须检查日期是否已显示,然后为其返回颜色。
如果它不起作用或有疑问,请致电。