¿Crear tabla de embudo en iOS?

Necesidad de crear control personalizado para Funnel Chart en iOS (ya sea en Swift o Objective – C).

Encontramos pocas bibliotecas para ello: aquí hay un enlace: https://github.com/ayudasystems/funnel

Planifica usar BezierPath para implementar el Cuadro de embudo.

Sugiera amablemente la estructura de datos que necesita implementar este control.

** Nota: el lote de búsqueda de publicaciones, pero no encuentra la solución exacta para implementar el diagtwig de embudo en ios (hay pocas publicaciones pero las respuestas no son correctas o aceptadas)

introduzca la descripción de la imagen aquí

Debe usar una lógica simple para implementar el diagtwig de embudo superior.

Hay 5 elementos: A1, A2, A3, A4, A5 y el embudo tiene una altura de 200 .

&& A1 = 30%, A2 = 25%, A3 = 20%, A4 = 15% y 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 . 

Lógica para calcular la distribución de altura

 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 } } 

Progreso Demo Funnel Chart app || Swift3

La "Estructura de datos" debe ser simple: una matriz de valores entre 0.0 y 100.0, cada valor representa una banda rectangular horizontal o un trapecio para la parte del embudo, con un indicador para mostrar dónde cambia de rectangularjs a trapecios, más colors para cada uno de los segmentos.

Comience simple, y luego continúe para embellecer la image, con espacios entre los segmentos, las sombras, y así sucesivamente. Después de haber realizado una versión estática, debería poder transferir a capas para get animation.