2

我正在使用 tapku 库在我的应用程序中显示日历。我已经完成了所有日期计算并根据我的需要正确标记了单元格,但我想根据我的选择为单元格赋予不同的颜色。我已经完成了单一背景颜色的标记,但我想以三种颜色显示。我怎样才能?

4

1 回答 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 回答