首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS中创建漏斗图?

在iOS中创建漏斗图?
EN

Stack Overflow用户
提问于 2016-08-26 07:00:18
回答 2查看 749关注 0票数 6

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

几乎没有找到它的库:下面是链接:https://github.com/ayudasystems/funnel

计划使用BezierPath实现漏斗图。

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

**注意-搜索大量的帖子,但必须找到在ios中实现漏斗图的确切解决方案(只有少数帖子存在,但答案不正确或不被接受)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-07 06:15:11

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

其中A1、A2、A3、A4、A5和漏斗5个项目的高度为200

&& A1=30%,A2=25%,A3=20%,A4=15%和A5=10%

代码语言:javascript
复制
Now distritribute items according to height % in funnel. So

A1 = 0.3*200  = 60
A2 = 0.25*200 = 50
A3 = 0.2*200  = 40
A4 = 0.15*200 = 30
A5 = 0.1*200  = 20
--------------------
Total         = 200


On the basis of above calculated height:- 5 different BezierPath can  be drawn . 

Above data can be generalised to 'n' items and 'x' Height .

的逻辑计算高度分布

代码语言:javascript
复制
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
    }
}

进度演示漏斗图应用程序\ Swift3

票数 2
EN

Stack Overflow用户

发布于 2016-08-26 15:27:36

“数据结构”应该很简单:一个值数组在0.0到100.0之间,每个值代表水平矩形带,或者代表漏斗部分的梯形,并有一个指示符来显示从矩形到梯形的变化,再加上每个片段的颜色。

从简单开始,然后继续润色图片,在片段、阴影等之间留下空白。制作了静态版本之后,您应该能够传输到图层以获得动画。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39160208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档