From ad5f870e468443b78f513e70740e32fb5d3bcda8 Mon Sep 17 00:00:00 2001 From: iRiziya Date: Tue, 24 Dec 2019 11:49:02 +0530 Subject: [PATCH 1/2] Set current date selected/marked Date format added for baseDate to compare only dates instead of full date & time to set the current date selected when calendar is rendered initially. --- Calendar/CalendarKit/CalendarView.swift | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Calendar/CalendarKit/CalendarView.swift b/Calendar/CalendarKit/CalendarView.swift index 8514f0a..216d728 100644 --- a/Calendar/CalendarKit/CalendarView.swift +++ b/Calendar/CalendarKit/CalendarView.swift @@ -27,11 +27,22 @@ class CalendarView: UIView, UICollectionViewDataSource, UICollectionViewDelegate var baseDate: Date? { didSet { collectionData = [CalendarLogic]() - if let date = baseDate { - var dateIter1 = date, dateIter2 = date + + let df = DateFormatter() + df.dateFormat = "yyyy-MM-dd" + + let str = df.string(from: baseDate!) + + let dateNew = df.date(from: str) + + if let date = dateNew { + + var dateIter1 = date + + var dateIter2 = date var set = Set() - set.insert(CalendarLogic(date: baseDate!)) + set.insert(CalendarLogic(date: dateNew!)) // advance one year (0.. Date: Tue, 24 Dec 2019 11:53:59 +0530 Subject: [PATCH 2/2] Set current date selected/marked Date format added for today to compare only dates instead of full date & time to set the current date selected when calendar is rendered initially. --- Calendar/ViewController.swift | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Calendar/ViewController.swift b/Calendar/ViewController.swift index b26190c..0a1a189 100644 --- a/Calendar/ViewController.swift +++ b/Calendar/ViewController.swift @@ -16,7 +16,12 @@ class ViewController: UIViewController, CalendarViewDelegate { super.viewDidLoad() // todays date. - let date = Date() + let df = DateFormatter() + df.dateFormat = "yyyy-MM-dd" + + let str = df.string(from: Date()) + + let date = df.date(from: str)! // create an instance of calendar view with // base date (Calendar shows 12 months range from current base date)