0

これは基本的な簡略化されたコードです。何を試しても色は変わりません。0,1,2 に対して個別に試してみましたが、機能し、パスを適切な色で塗りつぶしますが、ループの色は変わりません。

私は試しました: mutablepath 、コンテキストの保存/復元、クリーンなコードのいくつかの順列の実行、そしてこれまでのところあまり成功していません。とてもシンプルに見えますが、何が欠けているのかわかりません。

for(looper=0; looper<MAX ; looper++)
{ 
        CGContextSetFillColorWithColor(context, [[self setMyColor:lopper] CGColor]);


        [self draw_a_path:context ... more dimension args];


        CGContextClosePath(context);
        CGContextFillPath(context);
}

-(UIColor *) setMyColor:(int ) for_this_idx
{
UIColor *cur_color;

switch(for_this_idx)
{
    case 0: 
        cur_color = [UIColor colorWithRed: 0xdf/255.0 green: 0x01/255.0 blue: 0x01/255.0 alpha: 1.0] ;  
                    break;
      ... more cases ...
}
return cur_color;
}      

-(void) draw_a_path:(CGContextRef) thisContext
            ... position args ... 
{
... more stuff with Arcs but basically is this and each case works individually with the proper colour ....

CGContextMoveToPoint(thisContext, x_start,y_start);
CGContextAddLineToPoint(thisContext, x_start + n1), y_start + n2) );
CGContextAddLineToPoint(thisContext, x_start + n1 + p1), y_start + n2 + p2) );
CGContextAddLineToPoint(thisContext, x_start, y_start);

...
}

4

0 に答える 0