Latest 7.1.7
License MIT
Platforms ios 8.0, tvos 9.0


Tutorial Version Carthage Compatible Platform License Backers on Open Collective Sponsors on Open Collective

Q: How will my calendar dateCells look with this library?

A: However you want it to look.

Tutorials now @

More Images


  • [x] Range selection – select dates in a range. The design is entirely up to you.
  • [x] Boundary dates – limit the calendar date range
  • [x] Week/month mode – show 1 row of weekdays. Or 2, 3 or 6
  • [x] Custom cells – make your day-cells look however you want, with any functionality you want
  • [x] Custom calendar view – make your calendar look however you want, with what ever functionality you want
  • [x] First Day of week – pick anyday to be first day of the week
  • [x] Horizontal or vertical mode
  • [x] Ability to add month headers in varying sizes/styles of your liking
  • [x] Ability to scroll to any month by simply using the date
  • [x] Ability to design your calendar however you want. You want it, you build it
  • [x] Complete Documentation


Want to create a buggy calendar? because this is how people who do not read this creates a buggy calendar.

Please implement the willDisplayCell function as stated here –>

I had to put extra bold text because no one reads this 😞


1. Building a Calendar from scratch

screen shot 2017-04-07 at 1 10 00 am

2. Designing the Calendar [Part1]

screen shot 2017-04-09 at 5 16 16 pm

3. Mastering Calendar layouts

screen shot 2017-04-16 at 1 02 30 am

4. Common Questions #1

screen shot 2017-04-16 at 1 02 30 am


1. Installing via CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

CocoaPods 1.1.0+ is required to build JTApplecalendar.

To integrate JTAppleCalendar into your Xcode project using CocoaPods, specify it in your Podfile:

source ''
platform :ios, '10.0'

target '<Your Target Name>' do
    pod 'JTAppleCalendar', '~> 7.0'

Then, run the following command:

$ pod install


New to Cocoapods? Did the steps above fail? Then read on.

If you’re new to CocoaPods, simply search how to integrate Cocoapods into your project. Trust me that 5-7 minutes of research will bring you much benefit. CocoaPods one of the top dependency manager for integrating 3rd party frameworks into your project. But in a nut-shell, here is how I did my installation with a sample project called test

  1. Install Cocoapods.
  2. Create a new xcode project. Save the name as: test
  3. Go to your console in the directory location where your project is located.
  4. Type and run the command: pod init
  5. This will create a file called: Podfile in that same location.
  6. Edit that Podfile so that it looks like the following:
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'test' do
  pod 'JTAppleCalendar', '~> 7.0'

Save, and head back to terminal and run: pod install. If all Went well, installation should be complete. Close the XCodeproject, and instead reopen it using the workspace file which generated when installation was completed. Done.

2. Installing via Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate JTAppleCalendar into your Xcode project using Carthage, specify it in your Cartfile:

github "patchthecode/JTAppleCalendar" ~> 7.0

Run carthage update to build the framework and drag the built JTApplecalendar.framework into your Xcode project.

3. Installing manually

Simply drag the source files into your project.


JayT, [email protected] <– Sending me emails will not get you a swift response. I check it once every 2 weeks or so. Create a new issue here on github if you need help.


This project exists thanks to all the people who contribute. [Contribute].


Thank you to all our backers! 🙏 [Become a backer]


Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]


JTAppleCalendar is available under the MIT license. See the LICENSE file for more info.

Latest podspec

    "name": "JTAppleCalendar",
    "version": "7.1.7",
    "summary": "The Unofficial Swift Apple Calendar Library. View. Control. for iOS & tvOS",
    "description": "A highly configurable Apple calendar control. Contains features like boundary dates, month and week view. Very light weight.",
    "homepage": "",
    "license": "MIT",
    "authors": {
        "JayT": "[email protected]"
    "source": {
        "git": "",
        "tag": "7.1.7"
    "swift_version": "4.2",
    "platforms": {
        "ios": "8.0",
        "tvos": "9.0"
    "source_files": "Sources/*.swift"

Pin It on Pinterest

Share This