Giter VIP home page Giter VIP logo

datepicker's Introduction

DatePicker

Version License Platform

A DatePicker for iOS 10 and Above

  • iPad and iPhone support (popover on ipad, card on iphone)
  • Dark mode support
  • Can personalize colours
  • Easy to use
Alt Text Alt Text Alt Text
iPhone iPad In Action

Installation

DatePicker is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'DatePicker', '~> 1.3.0'

Quick Usage

import DatePicker

class ViewController: UIViewController {
    
    @IBAction func DateButton(_ sender: UIButton) {
        let minDate = DatePickerHelper.shared.dateFrom(day: 18, month: 08, year: 1990)!
        let maxDate = DatePickerHelper.shared.dateFrom(day: 18, month: 08, year: 2030)!
        let today = Date()
        // Create picker object
        let datePicker = DatePicker()
        // Setup
        datePicker.setup(beginWith: today, min: minDate, max: maxDate) { (selected, date) in
            if selected, let selectedDate = date {
                print(selectedDate.string())
            } else {
                print("Cancelled")
            }
        }
        // Display
        datePicker.show(in: self, on: sender)
    }
}

Detailed Usage

  1. Import the library
import UIKit
import DatePicker

class ViewController: UIViewController {
}
  1. Setup

here are multiple ways to configure DatePicker:

  • Basic - Picker between today and 100 years from now
let datePicker = DatePicker()
datePicker.setup { (selected, date) in
    if selected, let selectedDate = date {
        print("\(selectedDate)"
    } else {
        print("cancelled")
    }
}

Set initial selected by setting the beginWith parameter:

datePicker.setup(beginWith: Date()) { (selected, date) in
            if selected, let selectedDate = date {
                print(selectedDate.string())
            } else {
                print("Cancelled")
            }
}

Set initial selected by setting the beginWith parameter:

datePicker.setup(beginWith: Date()) { (selected, date) in
            if selected, let selectedDate = date {
                print(selectedDate.string())
            } else {
                print("Cancelled")
            }
}
  • Picker with minimum and maximum dates
datePicker.setup(min: minDate, max: maxDate) { (selected, date) in
    if selected, let selectedDate = date {
        print("\(selectedDate)"
    } else {
        print("cancelled")
    }
}

Set initial selected by setting the beginWith parameter

datePicker.setup(beginWith: Date(), min: minDate, max: maxDate) { (selected, date) in
    if selected, let selectedDate = date {
        print("\(selectedDate)"
    } else {
        print("cancelled")
    }
}

Set initial selected by setting the beginWith parameter

datePicker.setup(beginWith: Date(), min: minDate, max: maxDate) { (selected, date) in
	if selected, let selectedDate = date {
		print("\(selectedDate)"
	} else {
		print("cancelled")
	}
}

You can also use DatePickerHelper's functions to help generate dates:

let minDate = DatePickerHelper.shared.dateFrom(day: 18, month: 08, year: 1990)
let maxDate = DatePickerHelper.shared.dateFrom(day: 18, month: 08, year: 2020)
  • Yearless Picker: select and return day and month integers independent of year.
let datePicker = DatePicker()
datePicker.setupYearless { (selected, month, day) in
    if selected, let day = day, let month = month {
        print("selected \(month) \(day)")
        // You can also use DatePickerHelper's functions:
        // DatePickerHelper.shared.month(number: Int) will return the month string name
        print("selected DatePickerHelper.shared.month(number: month) \(day)")
    } else {
        print("cancelled")
    }
}

Alt Text

  1. Display
  • Screen Center:
datePicker.display(in: self)
  • Or as Popover (for iPads):
datePicker.displayPopOver(on: button, in: self)

Alt Text

Credit

Alt Text

License

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

datepicker's People

Contributors

amirshayegh avatar rahimkhalid avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.