HomeiOS Developmentios - Learn how to add EventView to TimelinePagerView in CalendarKit?

ios – Learn how to add EventView to TimelinePagerView in CalendarKit?


I am at the moment attempting to create an app that makes use of the TimelinePagerView from the CalendarKit library, however I can not add the EventView to the TimelinePagerView.
How can I add an EventView to the TimelinePagerView?

I’ll present any data you want.

That is code that I created.

import UIKit
import CalendarKit

class ViewController: UIViewController, EventDataSource {
    
    @IBOutlet weak var timelinePagerView: TimelinePagerView!
    
    let date = Date()
    let eventData = ["event1", "event2", "event3", "event4"]
    
    var timelineStyle = TimelineStyle()
    var generatedEvents = [EventDescriptor]()
    var alreadyGeneratedSet = Set<Date>()
    
    override func viewDidLoad() {
        tremendous.viewDidLoad()
        
        timelineStyle.eventGap = 1
        timelinePagerView.updateStyle(timelineStyle)
        timelinePagerView.autoScrollToFirstEvent = true
        timelinePagerView.reloadData()
    }
    
    func eventsForDate(_ date: Date) -> [CalendarKit.EventDescriptor] {
        if !alreadyGeneratedSet.accommodates(date) {
            alreadyGeneratedSet.insert(date)
            generatedEvents.append(contentsOf: generateEventsForDate(date))
        }
        return generatedEvents
    }
    
    personal func generateEventsForDate(_ date: Date) -> [EventDescriptor] {
        let workingDate1 = Calendar.present.date(byAdding: .hour, worth: 9, to: date)!
        let workingDate2 = Calendar.present.date(byAdding: .hour, worth: 11, to: date)!
        let workingDate3 = Calendar.present.date(byAdding: .hour, worth: 13, to: date)!
        let workingDate4 = Calendar.present.date(byAdding: .hour, worth: 17, to: date)!
        var occasions = [Event]()
        
        for i in 0...3 {
            let occasion = Occasion()
            
            if i == 0 {
                occasion.dateInterval = DateInterval(begin: workingDate1, period: 120 * 60)
            } else if i == 1 {
                occasion.dateInterval = DateInterval(begin: workingDate2, period: 60 * 60)
            } else if i == 2 {
                occasion.dateInterval = DateInterval(begin: workingDate3, period: 240 * 60)
            } else if i == 3 {
                occasion.dateInterval = DateInterval(begin: workingDate4, period: 60 * 60)
            }
            
            occasion.textual content = eventData[i]
            swap (i) {
            case 0,1,3:
                occasion.colour = .crimson
            default:
                occasion.colour = .blue
            }
            occasion.isAllDay = false
            occasion.lineBreakMode = .byTruncatingTail
            
            occasions.append(occasion)
            
            occasion.userInfo = String(i)
        }
        return occasions
    }
}

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments