2016-08-26 27 views
6

iOS'taki Huni Grafiği için Özel denetim oluşturmanız gerekiyor (Hızlı veya Hedef - C'de). iOS'ta Huni Grafiği Oluşturuluyor mu?

bunun için çok az kütüphane Bulunan: https://github.com/ayudasystems/funnel

Planlama Huni Grafik uygulamak için BezierPath kullanmak: Burada bağlantıdır.

Bu denetimi uygulamak için gereken Veri Yapısı'u öneririz.

** Not - yazı ama kuvvetiyle Arama yeri ios içinde Huni grafiği (birkaç mesaj var ama cevaplar doğru veya kabul değildir)

+0

Ode bunu üretmek için kullanılır. –

+0

cocoapod kütüphanesi çok fazla işlevselliğe erişmiş, bu kontroller –

cevap

2

enter image description here

Sen huni grafiğin üstündeki uygulamak için basit mantığı kullanmak zorunda.

5 ürün vardır: A1, A2, A3, A4, A5 ve huni yüksekliğidir.

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

Mantık hesaplayın yüksekliği Dağılımı

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 
    } 
} 
Kod örneğiniz varsa

Progress Demo Funnel Chart app || Swift3

0

'Veri Yapısı' basit olmalıdır uygulamak için kesin çözüm bulmak: 0.0 ve 100.0 arasında bir değer dizisi, her bir değer ya dikdörtgen bir bant ya da huni parçası için bir yamuk ya da dikdörtgenlerden trapezoidlere değiştiği yeri gösteren bir gösterge ile her bir bölüm artı bölümleri temsil eder.

Basit bir başlangıç ​​yapın ve ardından parçaları, gölgeler vb. Arasındaki boşluklarla resmi süslemek için devam edin. Statik bir sürüm oluşturduktan sonra, animasyon elde etmek için katmanlara aktarabilmeniz gerekir.

+0

kontrolünü oluşturduktan sonra herhangi bir referans veya link oluşturmak için bana yardımcı olabilir. –

İlgili konular