A Swift package that fills gaps in SwiftUI with extra views, extensions and wrappers for UIKit and AppKit functionality.
richardtop/CalendarKit
A Swift calendar UI library for iOS and Mac Catalyst that looks like Apple's Calendar app and can be customized.
- Stars
- 2,704
- Forks
- 362
- Open issues
- 35
- Last commit
- 2 months ago
What is it?
CalendarKit is a Swift library for building calendar interfaces on iOS and Mac Catalyst. Out of the box its day view resembles the Apple Calendar app, so developers can show events without designing a calendar from scratch.
Events are supplied through a data source: a view controller subclass implements a method that returns event descriptors for a given date, and CalendarKit handles layout and display. Taps and long presses on event views are delivered through delegate methods. Localization follows the device locale for month names, day names and the first day of the week, and dark mode is supported.
Appearance can be changed by creating a CalendarStyle object, updating its properties and applying it to the day view. The library is distributed through Swift Package Manager and CocoaPods and requires iOS 11.0 or later, Mac Catalyst 10.15 or later, and Swift 5.7 or later.
Key features
- 01Day view that closely resembles the Apple Calendar app by default
- 02Events supplied via a data source and descriptor protocol
- 03Tap and long-press callbacks on event views
- 04Automatic localization of month, day names and first weekday
- 05Dark mode support and customizable CalendarStyle
- 06Installable via Swift Package Manager or CocoaPods
Use cases
- Adding a calendar or schedule screen to an iOS app
- Showing appointments or bookings in a day-based timeline on Mac Catalyst
- Building a custom-styled calendar UI that still follows system conventions
In collections
Topics
FAQ
- What is CalendarKit?
- A Swift calendar UI library for iOS and Mac Catalyst that looks like Apple's Calendar app and can be customized. CalendarKit is a Swift library for building calendar interfaces on iOS and Mac Catalyst. Out of the box its day view resembles the Apple Calendar app, so developers can show events without designing a calendar from scratch.
- Is CalendarKit free to use? What license does it have?
- CalendarKit is open source under the MIT license. Check the license terms before using it in commercial products.
- Is CalendarKit still maintained?
- Updated within 6 months. The last commit to CalendarKit was on Sep 12, 2026.
- What can I use CalendarKit for?
- Adding a calendar or schedule screen to an iOS app Showing appointments or bookings in a day-based timeline on Mac Catalyst Building a custom-styled calendar UI that still follows system conventions
- Where can I get CalendarKit?
- The source code and installation instructions are on GitHub: https://github.com/richardtop/CalendarKit
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Swift package that lets macOS apps add user-customizable global keyboard shortcuts with a ready-made recorder UI.
Elegant HTTP networking library for Swift, built on URLSession, with chainable requests, encoding, uploads, downloads and response validation.
A collection of over 500 native Swift extensions adding handy methods to standard library, Foundation and UIKit/AppKit types.
A cross-platform Xcode replacement that builds, signs and installs iOS apps from SwiftPM packages on Linux, Windows and macOS.
A Swift CLI that parses Xcode's xcactivitylog build and test logs into JSON, HTML, Chrome tracing and issue reports.