如何在IOS中绘制像图表一样的饼图

时间:2017-10-14 14:55:02

标签: ios objective-c xcode

如何在ios中绘制下图中的圆形图表:

[circular chart

或圆形进度条中的多种颜色的文库?

3 个答案:

答案 0 :(得分:0)

如果您想自己动手,可以使用Core Graphics或CAShapeLayers。在这两种情况下,您可能想要创建UIView的自定义子类;这两种方法的实施情况会有所不同。

如果您使用的是Core Graphics,则可以为自定义视图类型实施draw(_:)功能。在该功能中,您可以创建一系列UIBezierPath个对象。您将端盖样式设置为圆角,设置所需的线宽,并使用init(arcCenter center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle: CGFloat, clockwise: Bool)为每个路径创建弧,使用UIColor.stroke()设置strokeColor以设置当前笔触颜色,以及然后抚摸那条路。 (路径全部用一种颜色绘制,因此您需要创建多个路径以绘制多种颜色。)

如果您正在使用CAShapeLayer个对象,则需要创建多个形状图层,配置其笔触颜色和粗细,将它们安装为自定义视图的子图层,创建UIBezierPath个对象作为上面,并将每个UIBezierPath的后备CGPath对象安装到不同的形状图层中。

答案 1 :(得分:-1)

我发现了一些可能对你有帮助的CocoaControl:

CircleStatus 这个控件将帮助您实现您想要的几行:

但我绝对使用CircleProgressView

与故事板兼容,为了实现多线效果,您需要将多个视图一个接一个地放在另一个并将轨道背景颜色设置为清除颜色;)

答案 2 :(得分:-1)

有一个很棒的图表库叫做图表。这是一个cocoapod,非常容易使用。 Charts graphing library