0
okie我使用的是餅圖我從GitHub Astrokin Piechart在pieChart drawRect方法中繪製文本?
但在這個餅圖標籤有沒有被添加到不同的片,我想要的東西,如下圖所示
我已經看過了對計算器已經和我試圖繪製直接繪製文本,但似乎沒有工作。代碼如下
for (int i = 0; i < slicesCount; i++)
{
double value = [self.datasource pieChartView:self valueForSliceAtIndex:i];
NSString *title = [self.datasource pieChartView:self titleForSliceAtIndex:i];
endAngle = startAngle + M_PI*2*value/sum;
/*CGFloat x = centerX + (radius+10) * (cos((startAngle-90)*M_PI/180.0) + cos((endAngle-90)*M_PI/180.0))/2;
CGFloat y = centerY + (radius+10) * (sin((startAngle-90)*M_PI/180.0) + sin((endAngle-90)*M_PI/180.0))/2;
[title drawAtPoint:CGPointMake(x, y) withFont:[UIFont fontWithName:FONT_HELVETICA size:12.0]];*/
CGFloat x = centerX + ((radius + 10) * cos(startAngle));
CGFloat y = centerY + ((radius + 10) * sin(endAngle));
// NSLog(@"X Y: %f %f %f", x, y, degree);
NSString *text = @"Test";
[text drawInRect:CGRectMake(x, y, 50, 44) withFont:[UIFont systemFontOfSize:14.0f]];
CGContextAddArc(context, centerX, centerY, radius, startAngle, endAngle, false);
UIColor *drawColor = [self.datasource pieChartView:self colorForSliceAtIndex:i];
CGContextSetStrokeColorWithColor(context, drawColor.CGColor);
CGContextSetLineWidth(context, lineWidth);
CGContextStrokePath(context);
startAngle += M_PI*2*value/sum;
}
現在它看起來像這樣
什麼我可能做錯了什麼?
它在哪種方式不起作用?根本不畫?畫不好?舉一些例子。 – DeFrenZ 2014-09-30 09:13:28
添加了目前看起來像的圖像 – hemant 2014-09-30 09:40:04
看起來你的文本的左上角處於正確的位置,所以使用'[text drawInRect:CGRectMake(x - 25,y - 44,50,44)...'相反可能會工作。 – Aaganrmu 2014-09-30 10:01:57