我正在使用 tapku 库在我的应用程序中显示日历。我已经完成了所有日期计算并根据我的需要正确标记了单元格,但我想根据我的选择为单元格赋予不同的颜色。我已经完成了单一背景颜色的标记,但我想以三种颜色显示。我怎样才能?
问问题
998 次
1 回答
1
看方法:
在 drawRect: 方法中将颜色设置为 [UIColor grayColor](代码下方的一个)。您可以做的是检查日期是否是您感兴趣的日期,然后适当地更改颜色。我不确定你想如何区分你的日期——这是你的电话;过去,我将 mark 参数的参数更改为 int 之类的参数,然后根据 int 的值设置颜色。标记参数来自标记数组,因此如果您传入一个具有不同值的数组,然后在整个 TKCalendarMonthView 中更改方法参数,应该没问题。
例如,假设你想要:mark = 1 --> draw red; 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];
}
希望这能回答你的问题。
于 2012-07-23T15:13:12.083 回答