2016-08-26 5 views
6

Sie müssen ein benutzerdefiniertes Steuerelement für das Trichterdiagramm in iOS erstellen (entweder in Swift oder Objective - C).Erstellen eines Trichterdiagramms in iOS?

gefunden Nur wenige Bibliothek für sie: https://github.com/ayudasystems/funnel

Planung BezierPath verwenden Funnel-Diagramm zu implementieren: Link hier ist.

Bitte schlagen Sie die Datenstruktur vor, die dieses Steuerelement implementieren muss.

** Hinweis - Suchen Sie viel Post, aber vermöge die exakte Lösung finden Funnel Chart in ios (wenige Beiträge gibt es aber Antworten sind nicht korrekt oder angenommen) zu implementieren

+0

Wenn Sie das Codebeispiel haben, sollten Sie auch die c Ode verwendet, um das zu generieren. –

+0

seine cocoapod library so dint viel funktionalität zugegriffen, nach dem durch diese i m creating control –

Antwort

2

enter image description here

Sie haben einfache Logik verwenden oben Trichterdiagramm zu implementieren.

Es gibt 5 Teile: A1, A2, A3, A4, A5 undTrichter ist Höhe .

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

Logic berechnen Höhenverteilung

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

Progress Demo Funnel Chart app || Swift3

0

Die ‚Datenstruktur‘ sollte einfach sein: ein Array von Werten zwischen 0,0 und 100,0, wobei jeder Wert entweder ein horizontales Rechteckband oder ein Trapez für den Trichterteil darstellt, mit einem Indikator, um zu zeigen, wo er sich von Rechtecken zu Trapezen ändert, plus Farben für jedes der Segmente.

Starten Sie einfach, und fahren Sie dann fort, das Bild mit Lücken zwischen den Segmenten, Schatten und so weiter zu verschönern. Nachdem Sie eine statische Version erstellt haben, sollten Sie in der Lage sein, in Ebenen zu wechseln, um eine Animation zu erhalten.

+0

jede referenz oder link könnte mir helfen, dies zu schaffen. –

Verwandte Themen