Если кто-то хочет знать, как я обошел это, мне пришлось настроить новые свойства BOOL
внутри каждой ячейки, чтобы отслеживать, что ячейка является первой, последней или находится внутри диапазона. Затем вызовите функцию configureCell
, предоставленную в модуле, и настройте разные цвета на основе значений BOOL
в соответствующих местах. Внутри FSCalendarCell
configureAppearance
:
if (self.isCellInsideDateRange){
cellFillColor = [self colorFromHexString:mainDictionary[@"calendarLightColor"]].CGColor;
}else if(self.isCellFirstCell || self.isCellLastCell){
cellFillColor = [self colorFromHexString:mainDictionary[@"calendarDarkColor"]].CGColor;
}else{
cellFillColor = [UIColor whiteColor].CGColor;
}
И внутри FSCalendar.m
внутри каждого cellForItemAtIndexPath
проверки работает ли дату внутри клетки находится в пределах диапазона выбранных дат и установить соответствующие BOOL
значения true
или false
Я признаю, потребовалось довольно много обработки с моей стороны, и даже тогда я не смог разрешить некоторые сбои, которые начали возникать из-за повторного использования ячеек, и он не смог удалить повторно используемые ячейки. Скорее всего, это связано с комбинацией обработки, которую я должен был выполнять, чтобы обрабатывать различные конкретные приложения, добавляя новые свойства и время, когда появляются анимации цвета ячейки.
В конце я использовал JTAppleCalendar, который предлагает довольно много настроек, хотя и без анимации, но это небольшая вещь по сравнению с возможностями настройки.