我想使用 JTAppleCalendar 库显示一个简单的日历,但它显示的是一个空屏幕
i want to show a simple calender using JTAppleCalender library but it is showing an empty Screen
import UIKit
import JTAppleCalendar
class ViewController: UIViewController, JTAppleCalendarViewDelegate, JTAppleCalendarViewDataSource {
let formatter = DateFormatter()
override func viewDidLoad() {
super.viewDidLoad()
}
func calendar(_ calendar: JTAppleCalendarView, willDisplay cell: JTAppleCell, forItemAt date: Date, cellState: CellState, indexPath: IndexPath) {
let myCustomCell = cell as! JTCustomCell
sharedFunctionToConfigureCell(myCustomCell: myCustomCell, cellState: cellState, date: date)
}
func calendar(_ calendar: JTAppleCalendarView, cellForItemAt date: Date, cellState: CellState, indexPath: IndexPath) -> JTAppleCell {
let cell = calendar.dequeueReusableJTAppleCell(withReuseIdentifier: "JTCustom", for: indexPath) as! JTCustomCell
self.calendar(calendar, willDisplay: cell, forItemAt: date, cellState: cellState, indexPath: indexPath)
cell.lblDate.text = cellState.text
return cell
}
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: "2019 02 02 ")!
let endDate = formatter.date(from: "2020 01 01")!
let paramaters = ConfigurationParameters(startDate: startDate, endDate: endDate)
return paramaters
}
func sharedFunctionToConfigureCell(myCustomCell: JTCustomCell, cellState: CellState, date: Date) {
myCustomCell.lblDate.text = cellState.text
}
}
//ref: JTAppleCalenderLibray 7.1.6
确保您的集合 class 在 Identity Inspector 中设置为 JTAppleCalendarView
并设置委托 ibCalendarDataSource 和 ibCalendarDelegate
如果您的日历仍然显示为空白,请在 viewDidLayoutSubviews() 中重新加载
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
calendarView.reloadData()
}
import UIKit
import JTAppleCalendar
class ViewController: UIViewController, JTAppleCalendarViewDelegate, JTAppleCalendarViewDataSource {
let formatter = DateFormatter()
override func viewDidLoad() {
super.viewDidLoad()
}
func calendar(_ calendar: JTAppleCalendarView, willDisplay cell: JTAppleCell, forItemAt date: Date, cellState: CellState, indexPath: IndexPath) {
let myCustomCell = cell as! JTCustomCell
sharedFunctionToConfigureCell(myCustomCell: myCustomCell, cellState: cellState, date: date)
}
func calendar(_ calendar: JTAppleCalendarView, cellForItemAt date: Date, cellState: CellState, indexPath: IndexPath) -> JTAppleCell {
let cell = calendar.dequeueReusableJTAppleCell(withReuseIdentifier: "JTCustom", for: indexPath) as! JTCustomCell
self.calendar(calendar, willDisplay: cell, forItemAt: date, cellState: cellState, indexPath: indexPath)
cell.lblDate.text = cellState.text
return cell
}
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: "2019 02 02 ")!
let endDate = formatter.date(from: "2020 01 01")!
let paramaters = ConfigurationParameters(startDate: startDate, endDate: endDate)
return paramaters
}
func sharedFunctionToConfigureCell(myCustomCell: JTCustomCell, cellState: CellState, date: Date) {
myCustomCell.lblDate.text = cellState.text
}
}
//ref: JTAppleCalenderLibray 7.1.6
确保您的集合 class 在 Identity Inspector 中设置为 JTAppleCalendarView 并设置委托 ibCalendarDataSource 和 ibCalendarDelegate
如果您的日历仍然显示为空白,请在 viewDidLayoutSubviews() 中重新加载
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
calendarView.reloadData()
}