如何在IOS中在弧的中心添加文本?

如何在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

您好,我正在开发饼图应用程序。我想在圆弧中间加上文字。请展示我想展示的图片

我想在弧中添加100和250,中间是文本。

这是我的密码

  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%的工作,我只想计算弧的中间,这样我就可以在那个点添加文本