Monthly event calendar framework for iOS
YMCalendar is a library of monthly event calendar for iOS written in Swift.
YMCalendarView
has some instance properties like UICollectionView
.
var scrollDirection: YMScrollDirection
var isPagingEnabled: Bool
var allowsMultipleSelection: Bool
enum YMSelectAnimation {
case none, bounce, fade
}
var selectAnimation: YMSelectAnimation
var deselectAnimation: YMSelectAnimation
If you set
func setDateRange(_ dateRange: DateRange?)
nil
for dateRange, it will be inifinite scroll calendar (default is nil).
func horizontalGridColor(in view: YMCalendarView) -> UIColor
func horizontalGridWidth(in view: YMCalendarView) -> CGFloat
func verticalGridColor(in view: YMCalendarView) -> UIColor
func verticalGridWidth(in view: YMCalendarView) -> CGFloat
func dayLabelAlignment(in view: YMCalendarView) -> YMDayLabelAlignment
func calendarViewAppearance(_ view: YMCalendarView, dayLabelFontAtDate date: Date) -> UIFont
func calendarViewAppearance(_ view: YMCalendarView, dayLabelTextColorAtDate date: Date) -> UIColor
func calendarViewAppearance(_ view: YMCalendarView, dayLabelBackgroundColorAtDate date: Date) -> UIColor
func calendarViewAppearance(_ view: YMCalendarView, dayLabelSelectedTextColorAtDate date: Date) -> UIColor
func calendarViewAppearance(_ view: YMCalendarView, dayLabelSelectedBackgroundColorAtDate date: Date) -> UIColor
You can set gradient colors for background of YMCalendarView
.
var gradientColors: [UIColor]?
var gradientLocations: [NSNumber]?
var gradientStartPoint: CGPoint
var gradientEndPoint: CGPoint
func calendarViewDidScroll(_ view: YMCalendarView)
func calendarView(_ view: YMCalendarView, didSelectDayCellAtDate date: Date)
func calendarView(_ view: YMCalendarView, didMoveMonthOfStartDate date: Date)
func calendarView(_ view: YMCalendarView, shouldSelectEventAtIndex index: Int, date: Date) -> Bool
func calendarView(_ view: YMCalendarView, didSelectEventAtIndex index: Int, date: Date)
func calendarView(_ view: YMCalendarView, shouldDeselectEventAtIndex index: Int, date: Date) -> Bool
func calendarView(_ view: YMCalendarView, didDeselectEventAtIndex index: Int, date: Date)
func calendarView(_ view: YMCalendarView, numberOfEventsAtDate date: Date) -> Int
func calendarView(_ view: YMCalendarView, dateRangeForEventAtIndex index: Int, date: Date) -> DateRange?
func calendarView(_ view: YMCalendarView, eventViewForEventAtIndex index: Int, date: Date) -> YMEventView
If you want to create original eventView, it should inherit YMEventView
. You can dequeue the original eventView by registering to calendarView with identifier (Please see demo project).
github "matsune/YMCalendar"
pod "YMCalendar"
Yuma Matsune
YMCalendar is available under the MIT license. See the LICENSE file for more info.