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)
}
}
下个月您需要执行以下步骤。
- 获取
CalendarView
当前页面。
- 在
CalendarView
当前页面创建 1 个日期加上 1 个月。
- 根据新创建的日期设置
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)
我根据要求在我的应用程序中使用 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)
}
}
下个月您需要执行以下步骤。
- 获取
CalendarView
当前页面。 - 在
CalendarView
当前页面创建 1 个日期加上 1 个月。 - 根据新创建的日期设置
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)