FsCalendar 实施中的问题 iOS

Issue in FsCalendar implementation iOS

我根据要求在我的应用程序中使用 FSCalendar 我实现了所有功能,但遇到一个问题。当我使用按钮切换月份时,日历会滚动到下个月或上个月,但它显示 1 个日期是自动选择的,这是不需要的。我按 button.

的第一张图片

Here 它显示自动选择的日期。

 @IBAction func nextMonth(_ sender: UIButton){
    let t = calendar.currentPage.addingTimeInterval(24*60*60)
    let components = globalCurrentCalendar.dateComponents([.year, .month, .day], from: t)
    yearParam =  String(components.year!)
    monthParam = String(components.month!)
    let mnth = components.month! + 1
    monthParam = String(mnth)
    let date = Calendar.current.date(byAdding: .calendar, value: 1, to: t)
    monthScrollDate = date!
    self.calendar.select(self.formater.date(from:ConstantFile.dateToStringTemp(date: date!))!)
}

试试这个 -

func calendar(_ calendar: FSCalendar, didSelect date: Date, at monthPosition: FSCalendarMonthPosition) {
        if monthPosition == .previous || monthPosition == .next {
        calendar.setCurrentPage(date, animated: true)
    }
}

下个月您需要执行以下步骤。

  1. 获取CalendarView 当前页面。
  2. CalendarView 当前页面创建 1 个日期加上 1 个月。
  3. 根据新创建的日期设置 CalendarView 当前页面。

下个月

let currentMonth = self.calendarVW.currentPage
let nextMonth: Date? = gregorian.date(byAdding: .month, value: 1, to: currentMonth, options: [])
self.calendarVW.setCurrentPage(nextMonth!, animated: true)

上个月

let currentMonth = self.calendarVW.currentPage
let previousMonth: Date? = gregorian.date(byAdding: .month, value: -1, to: currentMonth, options: [])
self.calendarVW.setCurrentPage(previousMonth!, animated: true)