【问题标题】:How to show Current Week in JTAppleCalendar in swift如何在 JTAppleCalendar 中快速显示当前周
【发布时间】:2021-07-08 14:46:08
【问题描述】:

对于日历,我在我的项目中使用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:

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

【问题讨论】:

    标签: ios swift calendar uikit


    【解决方案1】:

    numberOfRows 返回“1”并像这样修改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)
        }
    }
    

    【讨论】:

      【解决方案2】:

      以下 cocoapod 符合您的要求: FSCalender

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

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

      【讨论】:

      • 你是对的,但我已经实现了JTAppleCalendarView .. 我在中间.. 你可以在这里指导我“JTAppleCalendarView”
      猜你喜欢
      • 1970-01-01
      • 2021-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多