如何使用 FSCalendar 在有事件的圆圈中显示日期?
Posted
技术标签:
【中文标题】如何使用 FSCalendar 在有事件的圆圈中显示日期?【英文标题】:How to display the date in circle having event using FSCalendar? 【发布时间】:2020-06-09 11:43:43 【问题描述】:我已经使用 swift 以编程方式添加了 FSCalendar,并从 api 调用中获取事件列表。默认情况下,事件在事件日期下方显示为点。但是我需要将事件显示在圆圈中,而不是日期下方的点。我尝试了很多方法,但都不起作用。有什么办法吗?
func calendar(_ calendar: FSCalendar, numberOfEventsFor date: Date) -> Int
return Events[date.GetFormatedDateAsString(format: "dd.MM.YYYY")] ?? 0
【问题讨论】:
【参考方案1】:首先,您必须为 FSCalendar 定义 DataSource 和 Delegate。
例如,我的日历有一个日期数组:
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
基本上你必须检查你的日期是否正在显示,然后返回一个颜色。
如果它不起作用或您有任何疑问,请致电。
【讨论】:
以上是关于如何使用 FSCalendar 在有事件的圆圈中显示日期?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 swift 4 中显示 FSCalendar 上的事件点?