首页 > 解决方案 > 如何在 Vodolazkyi/VACalendar swift 中选择范围?

问题描述

我正在使用Vodolazkyi/VACalendar我的一个项目,它适用于多项选择。

我的问题是我想显示两个日期之间的选择范围different color(like orange)以及开始日期和结束日期,different color(like red)即如果选择了两个日期5-2-201910-2-2019那么应该选择这两个日期内的日期......

有谁知道如何实现它?我没有得到任何线索..

这是图书馆Vodolazkyi/VACalendar的链接

标签: iosswiftcalendar

解决方案


在命名func 中添加多个日期VACalendar.swift

func selectDates(_ dates: [Date])

你可以像下面这样使用

        var date = startDate // first date 5-2-2019
        let endDate = myEndDate // last date 10-2-2019
        var selectedDates: [Date] = [Date]()

        while date <= endDate {
            date = calendar.date(byAdding: .day, value: 1, to: date)!
            selectedDates.append(date)
        }

并调用selectDatesfunc 如下所示:

myVACalender.selectDates(selectedDates)

要更改所选日期的颜色,请VADayViewAppearanceDelegate设置VACalendarView

calendarView.dayViewAppearanceDelegate = self

并实施

func backgroundColor(for state: VADayState) -> UIColor {
   if state == .selected {
       return mySelectedColor
   }else {
       return myDefaultColor
   }
}

推荐阅读