- July 26, 2025
- Mins Read
Calendar component with both RTL/LTR languages support with Swipe Gesture enabled navigation.
Easy to use with Storyboard and Attributes Inspector support.
source ‘https://github.com/CocoaPods/Specs.git’
platform :ios, ‘9.0’
use_frameworks!
target ‘<Your Target Name>’ do
pod ‘GDCalendar’
end
pod update
pod install
import GDCalendar
Set To Desire Locale Calendar
// Persian Calendar Locale: fa_IR
UserDefaults.standard.set(“fa_IR”, forKey: “current_locale”)
// List of available iOS locale names
// https://gist.github.com/jacobbubu/1836273
/*
If `current_locale` is not set, default phone calendar will be selected
*/
let calendar = GDTextSlot(frame: view.bounds)
view.addSubview(calendar)
Set Properties
// Days view items color
calendar.headerItemColor = UIColor.white
// Main calendar items text color
calendar.itemsColor = UIColor.black
// Header view items font
calendar.headersFont = UIFont.boldSystemFont(ofSize: 13)
// Calendar items font
calendar.itemsFont = UIFont.systemFont(ofSize: 15)
// Full properties list can be found on sample project
Set Date Selection Closure
calendar.dateSelectHandler = { [weak self] selectedDate in
print(selectedDate)
// Get Date Components
let day = date.dayName
let month = date.monthName
let components = date.componentsOfDate
print(“\(components.year) / \(components.month) / \(components.day)”)
}
UIView
to storyboard, set custom class to GDCalendar
Attribute Inspector
NavigationKit is a lightweight library which makes SwiftUI navigation super easy to use. 💻 Installation 📦 Swift Package Manager Using Swift Package Manager, add ...
An alternative SwiftUI NavigationView implementing classic stack-based navigation giving also some more control on animations and programmatic navigation. NavigationStack Installation ...
With SwiftUI Router you can power your SwiftUI app with path-based routing. By utilizing a path-based system, navigation in your app becomes ...
This package takes SwiftUI's familiar and powerful NavigationStack API and gives it superpowers, allowing you to use the same API not just ...