如何在IOS中在弧的中心添加文本?
您好,我正在开发饼图应用程序。我想在圆弧中间加上文字。请展示我想展示的图片 我想在弧中添加100和250,中间是文本。 这是我的密码如何在IOS中在弧的中心添加文本?,ios,objective-c,xcode,ios7,core-graphics,Ios,Objective C,Xcode,Ios7,Core Graphics,您好,我正在开发饼图应用程序。我想在圆弧中间加上文字。请展示我想展示的图片 我想在弧中添加100和250,中间是文本。 这是我的密码 int slicesCount = [self.datasource numberOfSlicesInPieChartView:self]; for (int i = 0; i < slicesCount; i++) { sum += [self.datasource pieChartView:self valueForSli
int slicesCount = [self.datasource numberOfSlicesInPieChartView:self];
for (int i = 0; i < slicesCount; i++)
{
sum += [self.datasource pieChartView:self valueForSliceAtIndex:i];
}
float startAngle = - M_PI_2-30;
float endAngle = 0.0f;
for (int i = 0; i < slicesCount; i++)
{
double value = [self.datasource pieChartView:self valueForSliceAtIndex:i];
endAngle = startAngle + M_PI*2*value/sum;
CGContextAddArc(context, centerX, centerY, radius, startAngle, endAngle, false);
UIColor *drawColor = [self.datasource pieChartView:self colorForSliceAtIndex:i];
CGContextSetStrokeColorWithColor(context, drawColor.CGColor);
CGContextSetLineWidth(context, lineWidth);
NSString *str=[arrValue objectAtIndex:slicesCount];
CGContextShowTextAtPoint(context, 54, 63, [str UTF8String], str.length);// **how can i get X and Y coordinate**
CGContextStrokePath(context);
startAngle += M_PI*2*value/sum;
}
int slicescont=[self.datasource numberOfSlicesInPieChartView:self];
for(int i=0;i
请帮忙。
谢谢您可以使用以下公式计算切片的中心:
...
endAngle = startAngle + M_PI*2*value/sum;
labelAngle = endAngle - startAngle;
labelX = centerX + radius * cos(labelAngle);
labelY = centerY + radius * sin(labelAngle);
...
然后在这一点上绘制文本(注意,这些是标签中心的坐标)。
我会考虑使用第三方库(如CorePlot)来代替图形绘制代码。有了CorePlot,这将是相当容易的。我已经完成了90%的工作,我只想计算弧的中间,这样我就可以在那个点添加文本