2

我需要实现一个类似于下图的水平条形图。在这里,我不需要与图表一起显示轴,但我仍然需要想象有一个:

在此处输入图像描述

我怎样才能做到这一点?

4

1 回答 1

3

您可以通过使用 UIBezierPath 和 CAShapeLayer 轻松做到这一点

您可以使用以下函数绘制水平条

    func drawLine(startpoint start:CGPoint, endpint end:CGPoint, linecolor color: CGColor ,  linewidth widthline:CGFloat){        
    var path = UIBezierPath()
    path.moveToPoint(start)
    path.addLineToPoint(end)

    var shapeLayer = CAShapeLayer()
    shapeLayer.path = path.CGPath
    shapeLayer.strokeColor = color
    shapeLayer.lineWidth = widthline

    view.layer.addSublayer(shapeLayer)
    }

如何快速调用这个函数是

    let start = CGPoint(x:20,y:100)
    let end = CGPoint(x:200,y:100)
    //red part of line

   drawLine(startpoint: start, endpint: end,linecolor:       UIColor.redColor().CGColor,linewidth:11.0)

你可以在这里找到完整的代码

http://bestarticlesall.blogspot.com/2014/12/draw-horizo​​ntal-bar-chart-using-swift.html

于 2014-12-05T11:32:22.430 回答