【发布时间】:2021-02-24 01:23:21
【问题描述】:
使用 CalendarKit 添加事件时遇到问题。试图绘制一个测试事件但它不显示。文档说 CalendarKit 需要一个 CalendarKit 需要 EventDataSource 返回一个符合 EventDescriptor 协议的对象数组,我试过没有运气。
import SwiftUI
import CalendarKit
import UIKit
struct TestingCalendarController: UIViewControllerRepresentable {
@Binding var eventDates: [Date]
func makeCoordinator() -> Coordinator {
return Coordinator()
}
func makeUIViewController(context: Context) -> DayViewController {
var dayView = DayViewController()
dayView.delegate = context.coordinator
var style = CalendarStyle()
style.timeline.timeIndicator.color = .systemBlue
style.header.daySelector.todayActiveTextColor = .white
style.header.daySelector.selectedBackgroundColor = UIColor(.primary)
style.header.daySelector.todayInactiveTextColor = .systemBlue
style.header.daySelector.todayActiveBackgroundColor = .systemBlue
style.header.swipeLabel.font = .systemFont(ofSize: 0.0)
dayView.updateStyle(style)
var testingEvents: [Event] = [Event]()
var event = Event()
event.startDate = Date()
event.endDate = Date()
event.isAllDay = true
event.text = "Testing Event"
dayView.create(event: event)
return dayView
}
func updateUIViewController(_ dayView: DayViewController, context: Context) {
dayView.delegate = context.coordinator
}
class Coordinator: NSObject, DayViewDelegate {
func dayViewDidSelectEventView(_ eventView: EventView) {
}
func dayViewDidLongPressEventView(_ eventView: EventView) {
}
func dayView(dayView: DayView, didTapTimelineAt date: Date) {
}
func dayView(dayView: DayView, didLongPressTimelineAt date: Date) {
}
func dayViewDidBeginDragging(dayView: DayView) {
}
func dayViewDidTransitionCancel(dayView: DayView) {
}
func dayView(dayView: DayView, willMoveTo date: Date) {
print("Date \(date)")
}
func dayView(dayView: DayView, didMoveTo date: Date) {
}
func dayView(dayView: DayView, didUpdate event: EventDescriptor) {
}
}
}
非常感谢任何帮助!
【问题讨论】:
标签: swiftui calendarkit