0

次の方法で長方形に文字列を描いています

- (void)drawRect:(CGRect)rect {
    .................................................
    .................................................
    for(NSString *titleString in self.titlesArray) {
        CGContextSaveGState(context);                                                 // Pushes a copy of the current graphics state onto the graphics state stack for the context.
        CGRect labelRect = CGRectMake((self.segmentWidth*i), yCoor, self.segmentWidth, self.font.pointSize);
        CGContextAddRect(context, labelRect);                                         // Adds a rectangular path to the current path.
        [titleString drawInRect:labelRect withFont:self.font lineBreakMode:UILineBreakModeClip alignment:UITextAlignmentCenter];
        CGContextRestoreGState(context);
    }
}

結果は

ここに画像の説明を入力してください

ご覧のとおり、文字列のデフォルトの色は黒です。

質問:drawRect()中に文字列の色を変更することは可能ですか?それをアーカイブするにはどうすればよいですか?

4

2 に答える 2

2

何かのようなもの:

[[UIColor blueColor] set];

動作します。すべての文字列を同じにしたい場合は、これをループの前に置きます。

于 2012-10-19T21:25:42.217 に答える
1

あなたはこれを使うことができます:

CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
于 2012-10-19T21:45:20.380 に答える