如何在 FSCalendar 中显示特定的月份和年份?

How to show a particular month and year in FSCalender?

关于我之前的问题,我还有一个问题要面对。在视图控制器中,我有一个集合视图和 FSCalender。在 collectionview 中,有一个月份列表,我从 API 那里得到,并且关于那个月也有一年。

像这样:

单击月份时,我们会在左侧标签上看到相应的年份。

现在,我的问题是如何在日历上获取我单击的特定月份及其相应的年份。 到目前为止,我已经尝试过这个来获得月份。

let index = indexPath.item + 10
let currentMonth = Calendar.current.component(.month, from: calender.currentPage)
let month = Calendar.current.date(byAdding: .month, value: index - currentMonth, to: calender.currentPage)
calender.setCurrentPage(month!, animated: true)

如有任何帮助,我们将不胜感激。

假设您已经有了月份和年份值,您可以像这样更改日历上的任何日期组件:

let month = 3 // March
let year = 2022
var dateComponents = Calendar.current.dateComponents([.year, .month, .day, .hour, .minute, .second], from: calender.currentPage)
dateComponents.setValue(month, for: .month)
dateComponents.setValue(year, for: .year)
let date = Calendar.current.date(from: dateComponents)
calender.setCurrentPage(date!, animated: true)

如果您需要,对于任何其他日期组件也类似 - .day.hour.minute.second