我刚检查DSLCalendarView sample 请参阅以下有关运行示例
的屏幕截图屏幕截图1
屏幕截图2
正如您所看到的那样,虽然它们都有其他月份的日期,但是第一个屏幕截图中的底行和第二个屏幕截图中的顶行已经显示。如何解决这个问题 - 如果该行具有上个月/下个月的所有日期,请不要显示该行? 向遇到过这个图书馆的用户提出这个问题。
答案 0 :(得分:0)
我使用过这个库。在库中,我们有 DSLCalendarDayView.m文件
转到该文件并找到 - (void)drawDayNumber方法(最后写的)
用我的下面方法替换该方法。
- (void)drawDayNumber {
if (self.selectionState == DSLCalendarDayViewNotSelected) {
[[UIColor colorWithWhite:66.0/255.0 alpha:1.0] set];
}
else {
[[UIColor whiteColor] set];
}
UIFont *textFont = [UIFont boldSystemFontOfSize:17.0];
CGSize textSize = [_labelText sizeWithFont:textFont];
CGRect textRect = CGRectMake(ceilf(CGRectGetMidX(self.bounds) - (textSize.width / 2.0)), ceilf(CGRectGetMidY(self.bounds) - (textSize.height / 2.0)), textSize.width, textSize.height);
if(self.isInCurrentMonth)
[_labelText drawInRect:textRect withFont:textFont];
}
用它来检查。它不会打印上个月和下个月的日期。仅显示当前月份日期。