https://github.com/RaffiKian/RKCalendar
  
  
    SwiftUI Simple Calendar / Date Picker for iOS 
    https://github.com/RaffiKian/RKCalendar
  
calendar datepicker ios swift swift-library swift5-1 swiftui
        Last synced: 6 months ago 
        JSON representation
    
SwiftUI Simple Calendar / Date Picker for iOS
- Host: GitHub
 - URL: https://github.com/RaffiKian/RKCalendar
 - Owner: RaffiKian
 - License: mit
 - Created: 2019-07-14T20:04:56.000Z (over 6 years ago)
 - Default Branch: master
 - Last Pushed: 2023-02-07T03:25:36.000Z (over 2 years ago)
 - Last Synced: 2024-08-03T09:03:06.099Z (over 1 year ago)
 - Topics: calendar, datepicker, ios, swift, swift-library, swift5-1, swiftui
 - Language: Swift
 - Size: 2.64 MB
 - Stars: 525
 - Watchers: 12
 - Forks: 71
 - Open Issues: 12
 - 
            Metadata Files:
            
- Readme: README.md
 - License: LICENSE.txt
 
 
Awesome Lists containing this project
- fucking-about-SwiftUI - RKCalendar
 - awesome-swiftui-libraries - RKCalendar - SwiftUI Simple Calendar / Date Picker for iOS (Calendar / Content)
 - awesome - RKCalendar - SwiftUI Simple Calendar / Date Picker for iOS. (OOM-Leaks-Crash / Picker)
 
README
          
# RKCalendar
**RKCalendar** is a SwiftUI Calendar / Date Picker for iOS.
Features include:
- minimum and maximum calendar dates selectable,
- single date selection, 
- range of dates selection, 
- multi-dates selection, 
- disabled dates setting.
### Light Mode
 
 
### Dark Mode
 
 
**⚠️ WARNING ⚠️** This is an early version of this library that requires Swift 5.1 and Xcode 11 
# Requirements
- iOS 13.0+
- Xcode 11+
- Swift 5.1+
# Installation
Integrate RKCalendar into your project by including the files in the "Manager" group.
# Usage 
See **ContenView.swift** for some examples. Typically create a **RKManager** and pass it to a **RKViewController**.
Customise the **RKManager** for the desired effects as follows:
## Calendar minimum and maximum date setting
Setting the calendar, minimum and maximum dates that can be selected.
    RKManager(calendar: Calendar.current, minimumDate: Date(), maximumDate: Date().addingTimeInterval(60*60*24*365), mode: 0)
## Single date selection
Use mode 0 to select a single date.
    RKManager(calendar: Calendar.current, minimumDate: Date(), maximumDate: maxDate, mode: 0)
## Range of dates selection
Use mode 1 to select a contiguous range of dates, from a start date to an end date.
    RKManager(calendar: Calendar.current, minimumDate: Date(), maximumDate: maxDate, mode: 1)
Note, mode 2 is automatically toggled internally and the end date must be greater than the start date.
## Multi-dates selection
Use mode 3 for selecting a number of dates.
    RKManager(calendar: Calendar.current, minimumDate: Date(), maximumDate: maxDate, mode: 3)
## Disabled-dates setting
Use any mode and set zero or more dates to be disabled (un-selectable).
For example:
    var rkManager = RKManager(calendar: Calendar.current, minimumDate: Date(), maximumDate: maxDate, mode: 0)
    rkManager.disabledDates.append(contentsOf: [
        Date().addingTimeInterval(60*60*24*4),
        Date().addingTimeInterval(60*60*24*5),
        Date().addingTimeInterval(60*60*24*7)
    ])
# License
RKCalendar is available under the MIT license. See the LICENSE file for more info.