在 swift 3 中使用自定义视图选择多个日期范围

Multiple date range selection with custom views in swift 3

我需要开发这样的日历 image.i 搜索很多 libraries.but 没有人与此自定义选择相似 view.please 有人帮助 me.thank 你。 .

我想你使用这个库:Koyomi

Select 以编程方式输入日期

您可以select具体日期。

let today = Date()
var components = DateComponents()
components.day = 7
let weekLaterDay = Calendar.current.date(byAdding: components, toDate: today)
koyomi.select(date: today, to: weekLaterDay)

// If want to select only one day. 
koyomi.select(date: today)

// If want to select multiple day.
let dates: [Date] = [date1, date2, date3]
koyomi.select(dates: dates)

您也可以取消select可用。

koyomi.unselect(today, to: weekLaterDay) 
// If want to unselect only one day.
koyomi.unselect(today)
// If want to unselect multiple day.
let dates: [Date] = [date1, date2, date3]
koyomi.unselect(dates: dates)

// unselect all date
koyomi.unselectAll()

// You can also call this delegate.    

extension ViewController: KoyomiDelegate {
    func koyomi(_ koyomi: Koyomi, didSelect date: Date?, forItemAt indexPath: IndexPath) {
        print("You Selected: \(date)")
    }

    func koyomi(_ koyomi: Koyomi, currentDateString dateString: String) {
        currentDateLabel.text = dateString
    }

    @objc(koyomi:shouldSelectDates:to:withPeriodLength:)
    func koyomi(_ koyomi: Koyomi, shouldSelectDates date: Date?, to toDate: Date?, withPeriodLength length: Int) -> Bool {
        if length > invalidPeriodLength {
            print("More than \(invalidPeriodLength) days are invalid period.")
            return false
        }
        return true
    }
}

这对我有用。你可以试试那个图书馆。