在iOS中创建漏斗图?

时间:2016-08-26 07:00:19

标签: ios objective-c swift uibezierpath

需要为iOS中的漏斗图创建自定义控件(在Swift或Objective - C中)。

找到它的少量库:这里是链接:https://github.com/ayudasystems/funnel

计划使用BezierPath实施漏斗图。

请建议需要实施此控件的数据结构

**注意 - 搜索很多帖子但是dint找到了在ios中实现漏斗图的确切解决方案(很少有帖子但是答案不正确或被接受)

2 个答案:

答案 0 :(得分:2)

enter image description here

您必须使用简单的逻辑来实现以上漏斗图。

共有5个项目: A1,A2,A3,A4,A5 漏斗高度 200

&安培;&安培; A1 = 30%,A2 = 25%,A3 = 20%,A4 = 15%,A5 = 10%

class HeightDistribution {
   class func  height(percentages: [Float] , TotalHeight:Float ) -> [Float]  
      {
        var heights = [Float]()
        for percentage in   percentages
        {
           let height = (percentage/100)*TotalHeight
            heights.append(height)
        }
        return heights
    }
}

逻辑计算高度分布

JS

Progress Demo Funnel Chart app || Swift3

答案 1 :(得分:0)

'数据结构'应该很简单:一个介于0.0和100.0之间的值数组,每个值代表一个水平矩形带或漏斗部分的梯形,带有一个指示器,用于显示它从矩形变为梯形的位置,以及每个段的颜色

从简单开始,然后继续修饰图片,片段之间有间隙,阴影等等。制作静态版本之后,您应该能够转移到图层以获取动画。