2017-07-27 42 views

回答

3

我想你使用这个库:Koyomi

在编程

选择日期您可以选择特定的日期。

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) 

您也可以取消选择可用。

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 
    } 
} 

它适合我。你可以试试这个库。

+0

我试过了,但我需要选择像附图 –

+0

@SathishKumar你可以检查我更新的答案。 –

+0

谢谢@Ravi Dhorajiya ..我会试试这个 –