我想创建自定义日历,所以我使用JTAppleCalendar并希望在集合视图单元格中显示日期

时间:2017-10-24 07:13:13

标签: ios swift3 nsdateformatter jtapplecalendar

我想创建自定义日历,所以我使用了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!
}

2 个答案:

答案 0 :(得分:2)

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

在viewdidLoad()

中添加

答案 1 :(得分:0)

enter image description here

你的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!
}