An open-source calendar framework for iOS with customizable views, IBDesignable support, and Swift interoperability.
MBCalendarKit is an open-source calendar framework for iOS that provides developers with customizable calendar views and controllers. It solves the problem of implementing calendar functionality in iOS apps by offering a flexible, feature-rich control that supports event display, multiple calendar systems, and extensive customization options.
iOS developers building apps that require calendar functionality, particularly those who need customizable calendar interfaces with event management and localization support.
Developers choose MBCalendarKit because it offers a production-ready calendar solution with both high-level convenience classes and low-level customization APIs, full Swift interoperability, and support for modern iOS development practices like Autolayout and IBDesignable.
An open source calendar framework for iOS, with support for customization, IBDesignable, Autolayout, and more.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports month, week, and day views with interactive controls, allowing versatile calendar presentations as detailed in the features list.
Built on UICollectionView with a custom cell provider protocol, enabling complete redesign of calendar cells beyond standard UIAppearance, as shown in the customization section.
Includes full RTL support and locale-specific date formatting, making it suitable for international applications, a key feature highlighted in the README.
Written in Objective-C but fully interoperable with Swift, with enhancements in version 5.0.0 for seamless integration via import statements.
The framework is implemented in Objective-C, which may deter teams preferring pure Swift development environments or modern Swift-only tooling.
Events are limited to simple data structures (title, date, info dictionary) without built-in support for recurring events or advanced calendar operations, requiring manual implementation.
Customizing cells requires implementing the CustomCellProviding protocol and understanding UICollectionView contexts, which adds a steeper learning curve compared to simpler styling options.