我正在使用FSCalendar实现自定义日历。通过更改几个方法并处理各种选择和取消选择模式,我成功地做出了类似于下面的内容。
下面是我到目前为止的截图:

现在设计师想要一个不同的颜色,所有的日期之间的初始日期和最后日期。除了3月13日和22日的截图,所有的日期都应该是不同的颜色。
如何在不包括最终值和初始值的范围内更改日期的颜色?
或
如果有人可以提出另一个项目/吊舱,将创建一个类似的界面屏幕截图,并满足颜色的要求,这也是有效的!
发布于 2017-02-18 06:04:05
如果有人想知道我是如何做到这一点的,我必须在每个单元格内设置新的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内部,检查单元格内的日期是否在所选日期的范围内,并将适当的BOOL值设置为true或false。
我承认它需要相当多的来处理,即使在那时,我也无法解决一些由于单元重复使用而开始发生的崩溃,并且无法破坏可重用的单元。最可能的原因是,我不得不处理各种特定应用程序的情况,添加新的属性和单元格颜色动画出现的时间。
最后,我使用了JTAppleCalendar,它提供了相当多的定制功能,尽管没有动画,但与定制功能相比,这是一件小事。
https://stackoverflow.com/questions/42091713
复制相似问题