Посмотрите на метод:
Для цвета задано значение [UIColor grayColor] в методе drawRect: (ниже в коде).Что вы можете сделать, это проверить, является ли дата интересующей вас датой, а затем соответствующим образом изменить цвет.Я не уверен, как вы хотите различать даты - это ваш звонок;В прошлом я изменял параметр аргумента mark на что-то вроде int, а затем основывал цвет на значении int.Аргумент mark происходит из массива marks, поэтому, если вы передадите массив с другими значениями, а затем измените аргументы метода в TKCalendarMonthView, все будет в порядке.
Например, допустим, вы хотите: mark =1 -> рисовать красным;mark = 2 -> нарисуйте зеленый;mark> 2 -> draw blue.
- (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];
}
Надеюсь, это ответит на ваш вопрос.