ios - 如何在 IOS 的 ARC 中心添加文本?

标签 ios objective-c xcode ios7 core-graphics

你好,我正在开发饼图应用程序。我想在圆弧中间添加文字。请显示我想要显示的图像。

image .

我想在以文本为中心的圆弧中添加 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;
   }

请帮忙。 谢谢

最佳答案

好吧,您可以使用以下公式计算切片的中心:

...
endAngle = startAngle + M_PI*2*value/sum;
labelAngle = endAngle - startAngle;
labelX = centerX + radius * cos(labelAngle);
labelY = centerY + radius * sin(labelAngle);
...

然后在该点绘制文本(注意这些是标签中心的坐标)。

关于ios - 如何在 IOS 的 ARC 中心添加文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20321975/

相关文章:

iphone - 在 View 后面绘制 View (作为 subview 添加)

ios - 是否可以在不显示控件样式的情况下添加 Facebook "like"按钮

iphone - 无法在 iOS 上实现 "real"facebook SSO

ios - 如何处理来自 Quickblox iOS SDK 的错误?

iphone - 在 4.0.0 上安装 iOS 4.0.2 SDK

ios - 必须为您的 Apple ID 打开双因素身份验证

iphone - ios uiwebview 在 shouldstartloadwithrequest 时停止请求

php - API安全问题

ios - 单例应该在方法中使用自实例还是共享实例

objective-c - 使用 NSRegularExpression 将每个匹配项替换为方法的结果