用swift開發儀錶盤控制項(一)

來源:互聯網
上載者:User

標籤:

蘋果swift剛剛推出不久,接觸到這個語言是一個偶然的機會,無聊之餘隨便看了下它的文法:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveW5tYW95b25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

瞬間就被感動了,switch 中竟然大膽淘汰了break,全然是反人類的做法。其它語言沒這麼大膽和聰明,基本上switch, 都要搭配一大堆break(沒有開發人員考慮過繁瑣性)。由於99%的時候要使用break,所以蘋果乾脆就省略了。當然假設你要穿越的話能夠用fallthrough。swift的長處還許多此處省略1000字......

能夠在以下的地址下載控制項(毫無保留,隨便使用)

http://download.csdn.net/detail/ynmaoyong/8091225

言歸正傳,以下介紹一下用swift開發的控制項“MeterSwift”儀錶控制項。這個控制項執行於IOS7+。有以下幾個特點:

1、錶盤尺寸靈活,能夠在100×100 至 350×350的條件下使用。

2、刻度靈活能夠自己定義顯示最大值、分度值。

3、改動靈活,替換錶盤png、錶針png全然就是你自己的控制項(不必有罪惡感,我的圖形也是網上down的)。

4、使用方便,就一個檔案,2個圖形。包含在你的項目中即可了。

一、控制項的使用

控制項使用的效果:



拖動slider就發現錶針在轉動。

本控制項使用了以下的2個庫:


開啟XCODE 6.1 以下的介面。加入就可以。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveW5tYW95b25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

以下談談。怎樣在項目中使用這個控制項。代碼說話:

@IBAction func sliderChange(sender: UISlider){

        //設定顯示值

        panel.setCurrGaugeValue(CGFloat(sender.value),animation: false)

        disLable.text = "速度:\(Int(sender.value))km/h"

    }

   

    override func viewDidLoad() {

        super.viewDidLoad()

        //初始化繪製範圍參數

        let frame = CGRectMake(10, 10, 151, 151)

        //初始化控制項

        panel = GaugePanel(frame: frame)

        self.slider.maximumValue = MAXVALUE

        //self.view.addSubview(panel)

        containView.addSubview(panel)

       

    }

1.  首先在介面上放一個view容器。

2.  初始化控制項在容器內的繪製範圍。

3.  設定顯示值。

 

以下解釋下在Gauge.swift檔案裡的參數配置

 

//最大偏轉角度

letMAXOFFSETANGLE : Float = 120.0

//初始化指標位移量

letPOINTEROFFSET : Float = 90.0

//最大顯示數值

letMAXVALUE : Float = 200.0

//大格子間的分度數目

letCELLMARKNUM : Int = 5

//大格子數目

letCELLNUM : Int = 5

//錶盤中心顯示的文字

letGAUGESTRING : String = "單位:Km/h"

//預設的錶盤尺寸(正方形)

letDEFLUATSIZE : Int =  300

載入錶盤和指標png

self.pointer = UIImageView(image: UIImage(named:"pointer2.png"))

        self.gaugeView = UIImage(named: "gaugeback.png")



用swift開發儀錶盤控制項(一)

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.