2011-09-06 1 views
2

내 응용 프로그램에서 캘린더를 표시하는 데 tapku 라이브러리를 사용하고 있습니다. 나는 모든 날짜 계산을 마쳤으며 나의 필요에 따라 적절히 표시했다. 그러나 나의 선택에 따라 셀에 다른 색을주고 싶다. 단일 배경색으로 마킹을했는데 세 가지 색상으로 표시하고 싶습니다. 내가 어떻게 할 수있는? 상기 방법에서tapku 라이브러리에서 단색 배경의 마킹 날짜를 세 가지 색상으로 지정하려는 경우 목표 C

+0

라이브러리에서 계산 및 다른 셀 색상을 사용하는 방법을 알려주시겠습니까? – parag

답변

1

보면 : (코드의 바로 아래)에있어서, 상기 색상은의 drawRect에서 [UIColor 회색조]로 설정

. 당신이 할 수있는 일은 당신이 관심있는 날짜인지 확인한 다음 적절하게 색을 변경하는 것입니다. 나는 당신이 당신의 날짜를 어떻게 구별하고 싶은지 잘 모르겠습니다 - 그것은 당신의 부름입니다; 과거에는 mark 인수의 매개 변수를 int와 같은 것으로 변경 한 다음 int의 값으로 색상을 지정했습니다. mark 인수는 marks 배열에서 가져옵니다. 따라서 다른 값을 가진 배열을 전달한 다음 TKCalendarMonthView 전체에서 메서드 인수를 변경하면 괜찮습니다.

예를 들어 다음과 같이 말하십시오. mark = 1 -> red; 마크 = 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]; 

} 

희망 사항.이 질문에 대한 답변입니다.

관련 문제