GDCalendar
  • February 8, 2024

Calendar component with both RTL/LTR languages support with Swipe Gesture enabled navigation.
Easy to use with Storyboard and Attributes Inspector support.

Requirements


  • Xcode 10+
  • Swift 4+
  • iOS 8+

Installation


Cocoapods


 

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

Usage


 

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
*/

Code


 

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)”)
}

Storyboard


  1. Add UIView to storyboard, set custom class to GDCalendar
  2. Set attributes with Attribute Inspector

GitHub


View Github

#calendar #component #swift #swift4
YOU MIGHT ALSO LIKE...
🧭 NavigationKit

NavigationKit is a lightweight library which makes SwiftUI navigation super easy to use. 💻 Installation 📦 Swift Package Manager Using Swift Package Manager, add ...

swiftui-navigation-stack

An alternative SwiftUI NavigationView implementing classic stack-based navigation giving also some more control on animations and programmatic navigation. NavigationStack Installation ...

Stinsen

Simple, powerful and elegant implementation of the Coordinator pattern in SwiftUI. Stinsen is written using 100% SwiftUI which makes it ...

SwiftUI Router

With SwiftUI Router you can power your SwiftUI app with path-based routing. By utilizing a path-based system, navigation in your app becomes ...

FlowStacks

This package takes SwiftUI's familiar and powerful NavigationStack API and gives it superpowers, allowing you to use the same API not just ...