2011-09-06 33 views
2

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

+0

你能告诉我如何使用和计算和不同的单元格颜色集在图书馆 – parag

回答

1

看该方法:

颜色被设定为[的UIColor grayColor]在drawRect:方法(下面一个在代码)。你可以做的是检查日期是否是你感兴趣的日期,然后适当地改变颜色。我不确定你想如何区分你的日期 - 这是你的电话;在过去,我已经将标记参数的参数更改为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]; 

} 

希望这回答你的问题。