【发布时间】:2020-05-11 05:37:49
【问题描述】:
如何将星期日的颜色更改为红色并禁用它们。实际上我没有找到任何解决方案。专门更改仅星期日而不是周末的日期颜色。
【问题讨论】:
标签: cocoapods swift4 swift4.2 swift4.1 fscalendar
如何将星期日的颜色更改为红色并禁用它们。实际上我没有找到任何解决方案。专门更改仅星期日而不是周末的日期颜色。
【问题讨论】:
标签: cocoapods swift4 swift4.2 swift4.1 fscalendar
如果我没记错的话,FSCalendar 是用 Objective-C 开发的,可以使用桥接头在 Swift 应用程序中使用。因此,要在基于 Swift 的 iOS 应用程序中有效地使用它,我建议创建一个管理器类 .h 和 .m 文件,然后在 Swift 应用程序中使用管理器类。这将帮助您保留 FSCalendar 的所有委托,包括其在管理器类本身中的属性。
实现下面的委托方法来改变特定日期的颜色:
-(UIColor *)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance titleDefaultColorForDate:(NSDate *)date
{
NSInteger day = [[[NSCalendar currentCalendar] components: NSCalendarUnitWeekday fromDate: curDate] weekday];
if(day == 1) //Sunday
{
return [UIColor redColor];
}
return [UIColor blackColor]; //Considering default date color is black
}
要禁用选择,请使用下面的委托方法
-(BOOL)calendar:(FSCalendar *)calendar shouldSelectDate:(nonnull NSDate *)date atMonthPosition:(FSCalendarMonthPosition)monthPosition
{
NSInteger day = [[[NSCalendar currentCalendar] components: NSCalendarUnitWeekday fromDate: curDate] weekday];
if(day == 1) //Sunday
{
return NO;
}
return YES;
}
这是非常基本的代码,可为您提供想法和方向,让您可以继续实现所需的自定义。
【讨论】: