swift 如何在 JTAppleCalendar 中显示当前周

How to show Current Week in JTAppleCalendar in swift

对于日历,我在我的项目中使用 JTAppleCalendar pod

并且我能够在日历中显示当前月份,但我需要在日历中显示当前周但是如何

对于日历中显示的当前月份,我使用以下代码

extension ViewController: JTAppleCalendarViewDataSource {

    func configureCalendar(_ calendar: JTAppleCalendarView) -> ConfigurationParameters {
        let formatter = DateFormatter()
        formatter.dateFormat = "yyyy MM dd"
        let startDate =  formatter.date(from: "2010 01 01")!
        let endDate = formatter.date(from: "2050 01 01")!
        return ConfigurationParameters(startDate: startDate, endDate: endDate)
    }

}

extension ViewController: JTAppleCalendarViewDelegate {

    func calendar(_ calendar: JTAppleCalendarView, cellForItemAt date: Date, cellState: CellState, indexPath: IndexPath) -> JTAppleCell {
        let cell = calendar.dequeueReusableJTAppleCell(withReuseIdentifier: "dateCell", for: indexPath) as! DateCell

        self.calendar(calendar, willDisplay: cell, forItemAt: date, cellState: cellState, indexPath: indexPath)

        if testCalendar.isDateInToday(date) {
            cell.dateLabel.textColor = UIColor.blue
            cell.dateLabel.font = UIFont.boldSystemFont(ofSize: 13.0)

        } else {
            testCalendar.isDateInToday(date) == false

        }

        return cell
    }

    func calendar(_ calendar: JTAppleCalendarView, headerViewForDateRange range: (start: Date, end: Date), at indexPath: IndexPath) -> JTAppleCollectionReusableView {

        let header = calendar.dequeueReusableJTAppleSupplementaryView(withReuseIdentifier: "DateHeader", for: indexPath) as! DateHeader
        formatter.dateFormat = "MMM yyyy"

        header.monthTitle.text = formatter.string(from: range.start)
        return header
    }
    
}

0/p:

但我需要在日历中显示当前周,如何?,请帮忙

以下 cocoapod 符合您的要求: FSCalender

请尝试在 pod 文件中使用以下 pod:

use_frameworks!
target '<Your Target Name>' do
pod 'FSCalendar'
end

Return '1' for numberOfRows 并像这样修改 configureCalendar

extension ViewController: JTAppleCalendarViewDataSource {
    func configureCalendar(_ calendar: JTAppleCalendarView) -> ConfigurationParameters {
        
        let formatter = DateFormatter()
               formatter.dateFormat = "yyyy MM dd"
               let startDate =  formatter.date(from: "2010 01 01")!
               let endDate = formatter.date(from: "2050 01 01")!
        
            return ConfigurationParameters(startDate: startDate,
                                           endDate: endDate,
                                           numberOfRows: 1,
                                           generateInDates: .forFirstMonthOnly,
                                           generateOutDates: .off,
                                           hasStrictBoundaries: false)
    }
}