MBCalendarKit was written in 2013, to emulate the original iPhone’s calendar app. It featured the classic grid/month view, a week view, and a day view. All three modes had a table below below the calendar, listing events for the currently selected day.

When iOS 7 brought a new calendar app to iOS, MBCalendarKit was quickly left in the past. I was slow to adopt iOS 6 technologies in this project, which made it harder to keep up. Issues began to pile up on GitHub. Swift came out, and many new calendar libraries sprung up to take MBCalendarKit’s place.

Recently, I starting woring on some features that needed a calendar UI. I looked around but found that the libraries that were simple to integrate were difficult to customize. The easily customizable ones had inneccassible documentation. I took another look at MBCalendarKit and set out to modernize it.

I’m proud to announce a nearly complete rewrite, MBCalendarKit 5, with these great new features:

  • Integration into your project as a dynamic framework
  • Swift interoperability improvements
  • Autolayout support
  • Custom Cell Support
  • Rendering in Interface Builder as an IBDesignable
  • Enhanced support for localization. Specifically, appropriate layout in right-to-left environments
  • An updated sample app to try out different parts of the framework
  • Thorough Documentation
  • An updated changelog

This update resolved roughly half of the oustanding issues and leads to a place where the library can stand on its own again, as a first-class software library. I have a lot going on right now, but I also have a lot on the roadmap for MBCalendarKit. I hope you like it.