2016-08-26 22 views
6

Konieczność utworzenia niestandardowej kontroli dla wykresu ścieżki w systemie iOS (w Swift lub Objective - C).Tworzenie wykresu ścieżek w systemie iOS?

znalazły niewielu bibliotekę do niego: oto Link: https://github.com/ayudasystems/funnel

zamiar użyć BezierPath wdrożyć wykresu lejka.

Sugerujemy sugerowanie, że potrzebujemy implementacji tego formantu.

** Uwaga - Szukaj wiele postu ale dint znaleźć dokładne rozwiązanie do realizacji wykresu lejka w iOS (kilka stanowisk są tam, ale odpowiedzi nie są prawidłowe lub zaakceptowane)

+0

jeśli masz próbkę kodu, powinieneś mieć również c Oda używana do generowania tego. –

+0

jego biblioteka cocoapod tak dint uzyskał dużą funkcjonalność, po przejściu przez te im tworzenie kontroli –

Odpowiedz

2

enter image description here

Musisz użyć prostego logikę wdrożyć powyżej wykresu lejka.

Istnieje 5 przedmiotów A1, A2, A3, A4, A5 i lejek jest wysokość .

& & A1 = 30% 2 = 25%, A3 = 20%, A4 = 15% oraz 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 oblicza wysokość Distribution

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

„struktura danych” powinny być proste: tablica wartości od 0,0 do 100,0, każda wartość przedstawia poziomą prostokątną wstęgę lub trapez dla części lejka, ze wskaźnikiem pokazującym, gdzie zmienia się z prostokąta na trapezoid, plus kolory dla każdego z segmentów.

Rozpocznij prosty, a następnie przejdź do upiększenia obrazu, z luk między segmentami, cienie i tak dalej. Po wykonaniu wersji statycznej, powinieneś być w stanie przenieść się na warstwy, aby uzyskać animację.

+0

wszelkie odniesienia lub link mógłby mi pomóc stworzyć. –