我正在使用tapku库在我的应用程序中显示日历。我已经完成了所有日期计算,并根据我的需要正确标记了细胞,但我想根据我的选择为细胞提供不同的颜色。我用单一背景颜色做了标记,但我想用三种颜色显示。我怎么能?
答案 0 :(得分:1)
看看方法:
drawRect:方法中的颜色设置为[UIColor grayColor](代码中的下面一个)。您可以做的是检查日期是否是您感兴趣的日期,然后适当地更改颜色。我不确定你想如何区分你的日期 - 这是你的电话;在过去,我已经将mark参数的参数更改为类似int的内容,然后将颜色基于int的值。 mark参数来自marks数组,所以如果传入一个具有不同值的数组,然后在整个TKCalendarMonthView中更改方法参数,那就应该没问题。
例如,假设你想要:mark = 1 - >画红色; mark = 2 - >画绿色;标记> 2 - >画蓝色。
- (void) drawTileInRect:(CGRect)r day:(int)day mark:(**int**)mark font:(UIFont*)f1 font2:(UIFont*)f2
{
NSString *str = [NSString stringWithFormat:@"%d",day];
r.size.height -= 2;
[str drawInRect: r
withFont: f1
lineBreakMode: UILineBreakModeWordWrap
alignment: UITextAlignmentCenter];
if (mark) {
if (mark == 1)
[[UIColor redColor] set];
else if (mark == 2)
[[UIColor greenColor] set];
else if (mark > 2)
[[UIColor blueColor] set];
r.size.height = 10;
r.origin.y += 18;
[@"•" drawInRect: r
withFont: f2
lineBreakMode: UILineBreakModeWordWrap
alignment: UITextAlignmentCenter];
}
[[UIColor grayColor] set];
}
希望这能回答你的问题。