Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nbwar/NWCalendarView

An availability calendar implementation for iOS
https://github.com/nbwar/NWCalendarView

Last synced: 6 days ago
JSON representation

An availability calendar implementation for iOS

Awesome Lists containing this project

README

        

# 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

```swift
@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**
```swift
// 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
```swift
calendarView.maxMonths = 4
```

**Set selection Range** (defaults to 0)

```swift
selectionRangeLength = 7
```

## Delegate

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

**didSelectDate(fromDate: NSDateComponents, toDate: NSDateComponents)**
```swift
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