diff --git a/FSCalendar/FSCalendar.h b/FSCalendar/FSCalendar.h index 0379d097..9ecdd5db 100644 --- a/FSCalendar/FSCalendar.h +++ b/FSCalendar/FSCalendar.h @@ -437,6 +437,13 @@ IB_DESIGNABLE */ - (void)deselectDate:(NSDate *)date; +/** + Deselects a given dates of the calendar. + + @param dates Array of date in the calendar. + */ +- (void) deselectDates: (NSArray *) dates; + /** Changes the current page of the calendar. diff --git a/FSCalendar/FSCalendar.m b/FSCalendar/FSCalendar.m index baa8bd64..1f32cf53 100644 --- a/FSCalendar/FSCalendar.m +++ b/FSCalendar/FSCalendar.m @@ -1052,6 +1052,18 @@ - (void)deselectDate:(NSDate *)date } } +- (void) deselectDates: (NSArray *) dates +{ + for (NSDate * date in dates) { + NSDate * tmpDate = [self.gregorian dateBySettingHour:0 minute:0 second:0 ofDate:date options:0]; + if (![_selectedDates containsObject:tmpDate]) { + continue; + } + [_selectedDates removeObject:tmpDate]; + } + [self reloadData]; +} + - (void)selectDate:(NSDate *)date scrollToDate:(BOOL)scrollToDate atMonthPosition:(FSCalendarMonthPosition)monthPosition { if (!self.allowsSelection || !date) return;