需要在iOS ( Swift或Objective )中为漏斗图创建自定义控件。
几乎没有找到它的库:下面是链接:https://github.com/ayudasystems/funnel
计划使用BezierPath实现漏斗图。
请建议需要实现此控件的数据结构。
**注意-搜索大量的帖子,但必须找到在ios中实现漏斗图的确切解决方案(只有少数帖子存在,但答案不正确或不被接受)
发布于 2016-12-07 06:15:11

您必须使用简单的逻辑来实现上面的漏斗图。
其中A1、A2、A3、A4、A5和漏斗5个项目的高度为200。
&& A1=30%,A2=25%,A3=20%,A4=15%和A5=10%
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 .的逻辑计算高度分布
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
}
}发布于 2016-08-26 15:27:36
“数据结构”应该很简单:一个值数组在0.0到100.0之间,每个值代表水平矩形带,或者代表漏斗部分的梯形,并有一个指示符来显示从矩形到梯形的变化,再加上每个片段的颜色。
从简单开始,然后继续润色图片,在片段、阴影等之间留下空白。制作了静态版本之后,您应该能够传输到图层以获得动画。
https://stackoverflow.com/questions/39160208
复制相似问题