2

アプリケーションでカレンダーを表示するためにtapkuライブラリを使用しています。私はすべての日付計算を行い、必要に応じてセルに適切にマークを付けましたが、選択に応じてセルに異なる色を付けたいと思います。単色でマーキングしましたが、3色で表示したいです。どうやって?

4

1 に答える 1

1

メソッドを見てください:

drawRect:メソッド(コードの下の1つ)で色が[UIColorgrayColor]に設定されます。あなたができることは、日付があなたが興味を持っている日付であるかどうかをチェックしてから、適切に色を変えることです。日付をどのように区別したいかわかりません。それはあなたの電話です。以前は、mark引数のパラメーターをintのようなものに変更し、intの値に基づいて色を変更していました。mark引数はmarks配列から取得されるため、異なる値の配列を渡してから、TKCalendarMonthView全体でメソッド引数を変更すれば問題ありません。

たとえば、次のようにするとします。mark=1->赤を描画します。マーク=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 に答える