首页 > 代码库 > 用swift开发仪表盘控件(一)
用swift开发仪表盘控件(一)
苹果swift刚刚推出不久,接触到这个语言是一个偶然的机会,无聊之余随便看了下它的语法:
瞬间就被感动了,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 下面的界面,添加即可。
下面谈谈,如何在项目中使用这个控件,代码说话:
@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 = http://www.mamicode.com/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开发仪表盘控件(一)