1

我想创建自定义日历,所以我为此使用了 JTAppleCalendar 我已经采取了一个集合视图并希望在集合视图单元格中显示日期,但它没有显示应该是什么解决方案?

CalendarViewController.swift

import UIKit
import JTAppleCalendar

class CalendarViewController: UIViewController {

    @IBOutlet weak var calendarView: JTAppleCalendarView!

    override func viewDidLoad() {
        super.viewDidLoad()

       self.calendarView.calendarDataSource = self
        self.calendarView.calendarDelegate = self
        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

extension CalendarViewController:JTAppleCalendarViewDelegate,JTAppleCalendarViewDataSource{

    func configureCalendar(_ calendar: JTAppleCalendarView) -> ConfigurationParameters {

        let formatter = DateFormatter()

        formatter.dateFormat = "yyyy MM dd"
        formatter.timeZone = Calendar.current.timeZone
        formatter.locale = Calendar.current.locale

        let startdate = formatter.date(from: "2017 01 01")!
        let enddate = formatter.date(from: "2017 12 31")!
        let parameters = ConfigurationParameters(startDate: startdate, endDate: enddate)
      // print(formatter.string(from: startdate))
        return parameters
    }

    func calendar(_ calendar: JTAppleCalendarView, willDisplay cell: JTAppleCell, forItemAt date: Date, cellState: CellState, indexPath: IndexPath) {

    }

    func calendar(_ calendar: JTAppleCalendarView, cellForItemAt date: Date, cellState: CellState, indexPath: IndexPath) -> JTAppleCell {

        let cell = calendar.dequeueReusableJTAppleCell(withReuseIdentifier: "CalendarCell", for: indexPath) as! CalendarCell

        cell.dateLabel.text = cellState.text

        return cell
    }
}



CalendarCell.swift

import UIKit
import JTAppleCalendar
class CalendarCell: JTAppleCell {


    @IBOutlet weak var dateLabel: UILabel!
}
4

2 回答 2

2
calendarView.registerCellViewXib(file: "CalendarDateCell")
calendarView.delegate = self
calendarView.dataSource = self
calendarView.direction = .horizontal
calendarView.selectDates([selectedDate])
calendarView.reloadData()

添加 viewdidLoad()

于 2017-10-24T07:26:43.677 回答
0

在此处输入图像描述

您的 xib 将看起来像上图,并采用如下所示的出口忽略箭头 Img,Wrapper View

    import UIKit
import JTAppleCalendar

class CalendarDateCell: JTAppleDayCellView {

    @IBOutlet weak var dateLbl: UILabel!
    @IBOutlet weak var wrapperView: UIView!
    @IBOutlet weak var arrowImg: UIImageView!
}
于 2017-10-26T09:19:02.543 回答