A highly customizable calendar library for iOS, iPadOS, and macOS with day, week, month, year, and list views.
KVKCalendar is a comprehensive and flexible calendar library for Apple platforms (iOS, iPadOS, macOS via Catalyst) that replicates and extends the standard iOS calendar. It provides multiple display modes (day, week, month, year, and event list) and supports deep UI customization, allowing developers to integrate rich calendar functionalities into their applications.
iOS, iPadOS, and macOS developers building applications that require embedded calendar views, such as scheduling apps, event planners, or productivity tools. It is particularly suited for developers who need a native-like calendar with extensive customization options beyond Apple's default components.
Developers choose KVKCalendar for its high flexibility and familiarity; it is designed based on the standard iOS calendar but offers extensive customization of event views, date cells, headers, and collection views. It supports multiple calendar views, localization, time zone switching, dark mode, and iPad multitasking, providing a powerful alternative to building a calendar from scratch.
A most fully customization calendar for Apple platforms 📅
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers day, week, month, year, and event list views that can be used individually or combined, providing flexibility for different app needs, as highlighted in the Key Features.
Supports custom event views, date cells, headers, and collection views, allowing deep UI tailoring, with code examples for CustomViewEvent and dequeueCell in the README.
Compatible with iOS, iPadOS, macOS via Catalyst, dark mode, and iPad multitasking, ensuring broad Apple ecosystem coverage and modern UI capabilities.
Includes custom calendar localization and time zone switching, essential for international apps, as specified in the Styles section with locale and timezone properties.
Skeleton loading for month and list views is marked as not implemented in the README's additional features list, which may lead to poor loading states in some scenarios.
SwiftUI usage requires wrapping in UIViewControllerRepresentable, adding boilerplate and complexity for developers aiming for a pure SwiftUI architecture.
Implementing custom views and data sources involves significant code, such as creating Event arrays and conforming to protocols, which can be overkill for simple calendar displays.