0
我正在使用Core Graphics中的弧畫一個完整的圓。圓的每個圓弧都是不同的顏色。如果我使用標準顏色(例如[UIColor redColor]
),它會很好。但是,如果我指定了一種自定義顏色(例如自定義的紅色[UIColor colorWithRed:193 green:69 blue:57 alpha:1]
),那麼顏色會丟失,並且會變成白色?!iPhone - 使用自定義顏色不起作用的CGDrawArc上的setStroke
下面的屏幕截圖,我也在那裏編寫了一個輕微的陰影和半透明的圓圈。
我的代碼如下,它包含我的自定義視圖的drawRect方法中。關於如何將自定義顏色用於每個弧的筆畫的任何想法?
for (DoughnutChartSliceObject *slice in _slices) {
CGContextAddArc(ctx, self.frame.size.width/2, self.frame.size.height/2, _radius, slice.startAngleInRadians, slice.endAngleInRadians, 0);
[slice.colour setStroke];
//Define line width and cap
CGContextSetLineWidth(ctx, _stroke);
CGContextSetLineCap(ctx, kCGLineCapButt);
//draw it!
CGContextDrawPath(ctx, kCGPathStroke);
}
順便說一句,而重新定義顏色佈局上面應該修復它,我個人傾向於使用'CGContextSetStrokeColorWithColor'(傳遞一個'CGColorRef'如' [slice.colour CGColor]')和'CGContextDrawPath'一起使用。當我使用'[myBezierPath筆畫]'時,我使用'setStroke',但是當我使用'CGContextDrawPath'時,我使用'CGContextSetStrokeColorWithColor'。也許這並不重要(或者至少在你沒有使用自定義上下文時),但看起來內部更一致。 – Rob 2013-05-01 02:47:19
你美麗羅布:D這是問題!非常感謝! – bennythemink 2013-05-01 03:41:55