Skip to content

nbwar/NWCalendarView

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NWCalendarView

NWCalendar View is an iOS control that displays a calendar. It is perfect for appointment or availibilty selection. It allows for selection of a single date or a range. It also allows to disable dates that are unavailable.

Sample Usage

@IBOutlet weak var calendarView: NWCalendarView!

override func viewDidLoad() {
  super.viewDidLoad()

  calendarView.layer.borderWidth = 1
  calendarView.layer.borderColor = UIColor.lightGrayColor().CGColor
  calendarView.backgroundColor = UIColor.whiteColor()


  var date = NSDate()
  let newDate = date.dateByAddingTimeInterval(60*60*24*8)
  let newDate2 = date.dateByAddingTimeInterval(60*60*24*9)
  let newDate3 = date.dateByAddingTimeInterval(60*60*24*30)
  calendarView.disabledDates = [newDate, newDate2, newDate3]
  calendarView.selectionRangeLength = 7
  calendarView.maxMonths = 4
  calendarView.delegate = self
  calendarView.createCalendar()
}

Customization

Make sure to call createCalendar() setting your custom options

disable dates

// Takes an array of NSDates
calendarView.disabledDates = [newDate, newDate2, newDate3]

Set Max Months

You may only want to allow going 4 months into the future

calendarView.maxMonths = 4

Set selection Range (defaults to 0)

selectionRangeLength = 7

Delegate

didChangeFromMonthToMonth(fromMonth: NSDateComponents, toMonth: NSDateComponents)

func didChangeFromMonthToMonth(fromMonth: NSDateComponents, toMonth: NSDateComponents) {
  println("Change From month \(fromMonth) to month \(toMonth)")
}

didSelectDate(fromDate: NSDateComponents, toDate: NSDateComponents)

func didSelectDate(fromDate: NSDateComponents, toDate: NSDateComponents) {
  println("Selected date \(fromDate.date!) to date \(toDate.date!)")
}

TODO

  1. Enable going into the past
  2. Dynamic adding of months when scrolling in to past
  3. Make all aspects customizable (font, colors, etc..)
  4. Turn into cocoapod

License

MIT

About

An availability calendar implementation for iOS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages