explaingit

wenchaod/fscalendar

10,656Objective-CAudience · developerComplexity · 2/5Setup · easy

TLDR

FSCalendar is a customizable calendar component for iOS apps that supports monthly and weekly views, animated transitions, date selection, and event dot indicators, usable in both Objective-C and Swift.

Mindmap

mindmap
  root((FSCalendar))
    What it does
      Show calendar grid
      Monthly and weekly views
      Mark event dates
    Customization
      Colors and fonts
      Custom cells
      Delegate callbacks
    Integration
      CocoaPods
      Swift Package Manager
      Interface Builder
    Audience
      iOS developers
      Swift and ObjC apps
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add a fully styled calendar to an iOS habit-tracking app where users can see which days they completed a task.

USE CASE 2

Build an appointment scheduling screen with a compact weekly strip that expands into a full monthly view on swipe.

USE CASE 3

Create a custom event calendar with colored dot indicators on dates that have scheduled meetings or reminders.

USE CASE 4

Drop a swipeable calendar view into a Swift app without writing any calendar layout logic from scratch.

Tech stack

Objective-CSwiftCocoaPodsCarthageSwift Package ManagerXcode

Getting it running

Difficulty · easy Time to first run · 30min

In plain English

FSCalendar is a calendar display component for iOS apps, written in Objective-C and usable in Swift projects as well. It provides a fully customizable calendar view that developers can drop into an iPhone or iPad app, then style and configure to match the rest of their design. The library handles the visual rendering of a calendar grid, including month and week views, date selection, and animated transitions between the two. Developers can switch the calendar between a full monthly layout and a compact weekly strip using a gesture or programmatic call. There is also support for marking specific dates with dots or custom indicators, which is useful for apps that track events, habits, or appointments. Installation is available through CocoaPods, Carthage, or Swift Package Manager, as well as by dragging the source files directly into an Xcode project. The README includes setup steps for Interface Builder (Xcode's visual layout editor) and for writing the setup entirely in code. Both Objective-C and Swift code examples are provided. Customization is a central feature. Developers can change fonts, colors, and cell appearance, and can build entirely custom calendar cells by subclassing the default cell class. The library calls back into the app through a delegate pattern, meaning the developer's code is notified when the user selects or deselects a date, when the calendar scrolls to a new month, or when the visible scope changes between weekly and monthly modes. According to the badge in the README, more than 10,000 apps have used this library and it has accumulated over 500,000 downloads through CocoaPods. The project supports iOS 7 and later, though some features require iOS 8 or above.

Copy-paste prompts

Prompt 1
I'm building an iOS app in Swift. Show me how to add FSCalendar to my view controller and mark specific dates with dot indicators for events.
Prompt 2
Write Swift code to switch FSCalendar between monthly and weekly scope programmatically when the user taps a button.
Prompt 3
Show me how to create a custom FSCalendarCell subclass that displays a colored ring around selected dates.
Prompt 4
I want FSCalendar to mark every date in an array of NSDate objects with a dot. Write the delegate method to do this.
Open on GitHub → Explain another repo

← wenchaod on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.