首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JTAppleCalendar代表不为Swift工作

JTAppleCalendar代表不为Swift工作
EN

Stack Overflow用户
提问于 2018-08-13 06:28:27
回答 1查看 714关注 0票数 0

我的应用程序上有一个使用JTAppleCalendar 7.0的日历。

然而,同样的委托并不起作用。请参考我的需求截图。

有没有人可以和我分享一下委托函数的示例。

下面是日历上的插座截图。

Outlets to the calendar

下面是日历的完整代码。

代码语言:javascript
复制
import UIKit
import JTAppleCalendar

class CalendarViewController: UIViewController, JTAppleCalendarViewDelegate, JTAppleCalendarViewDataSource  {



    @IBOutlet weak var calendarView: JTAppleCalendarView!
    let formatter = DateFormatter()

    override func viewDidLoad() {
        super.viewDidLoad()

    }

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

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

        let startDate = formatter.date(from: "2018 08 10")!
        let endDate = formatter.date(from: "2018 10 10")!

        let parameters = ConfigurationParameters(startDate: startDate, endDate: endDate)
        return parameters

    }

    func calendar(_ calendar: JTAppleCalendarView, willDisplay cell: JTAppleCell, forItemAt date: Date, cellState: CellState, indexPath: IndexPath) {
            let dateCell = cell as! DateCell
            dateCell.dateLabel.text = cellState.text
    }


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

        if let cell = calendarView.dequeueReusableJTAppleCell(withReuseIdentifier: "dateCell", for: indexPath) as? DateCell {
            cell.dateLabel.text = cellState.text
            cell.configure(date: cellState.text)
            return cell
        }
        return DateCell()
    }


    func calendar(_ calendar: JTAppleCalendarView, didSelectDate date: Date, cell: JTAppleCell, cellState: CellState) {
        guard let validCell = cell as? DateCell else { return }
        validCell.contentView.backgroundColor = UIColor.black

    }


    func calendar(_ calendar: JTAppleCalendarView, didDeselectDate date: Date, cell: JTAppleCell, cellState: CellState) {

    }

}
EN

回答 1

Stack Overflow用户

发布于 2018-08-14 01:24:22

你实际上忘了给delegatedataSource打电话。请按如下方式调整viewDidLoad():

代码语言:javascript
复制
override func viewDidLoad() {
   super.viewDidLoad()

   calendarView.calendarDataSource = self
   calendarView.calendarDelegate = self

}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51813360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档