用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 = 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")

时间: 2024-10-03 22:40:19

用swift开发仪表盘控件(一)的相关文章

用swift开发仪表盘控件(二)

二.代码分析 这个控件本质就是从UIView继承的一个类而已.所以整个代码其实就是一个定制的UIView类. 根据UIView的规则进行如下初始化: required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } override init(frame: CGRect) { self.pointer = UIImageView(image: UIImage(named:"pointer2.png")) sel

Iocomp.net 工业仪表盘控件包详细介绍

Iocomp 工业仪表盘控件包(.net版)包括多种用来创建专业的仪表和测量.工业控制.工业监控等相关的应用程序的控件包,包括仪表盘控件, 开关控件, 实时曲线控件, LED灯控件等等. 所有的控件均为100% 托管代码,并且支持Microsoft / Borland/CodeGear/Embarcadero等不同的开发环境. 包括三个不同的版本,终极版(ultimate),专业版( Pro Pack) 和 曲线版(Plot Pack.) 控件包中的所有控件都是面向对象的设计,并且共用通用的底层

C#开发ActiveX控件

昨天写了篇博客<Winform 程序嵌入WPF程序 并发送消息>,没有说明为什么要嵌入WPF程序,那么今天就来唠叨唠叨其中的一个使用场景,开发ActiveX控件 首先,新建一个类库工程HuaYun.ActiveX,右键工程属性,在“应用程序”页,点击“程序集信息”按钮,在弹出的窗体里勾选“使程序集COM可见”,具体操作如下图 第二步,切换到“生成”的选项卡,勾选“为COM互操作注册”,如下图 第三步,在AssemblyInfo.cs里添加[assembly: AllowPartiallyTru

IOS学习资源收集--开发UI控件相关

收集的一些本人了解过的iOS开发UI控件相关的代码资源(本文持续补充更新) 内容大纲: 1.本人在github上也上传了我分装好的一些可重复利用的UI控件 2.计时相关的自定义UILabel控件 正文: 1.本人在github上也上传了我分装好的一些可重复利用的UI控件 示例: 网址:https://github.com/HeYang123456789/UIView 2.计时相关的自定义UILabel控件 网址:https://github.com/mineschan/MZTimerLabel

使用C#开发ActiveX控件

最近弄了一个在Qt中使用C#控件的功能,使用的方法是通过C#生产ActiveX控件,在Qt中使用该ActiveX控件.本文这里简单的介绍一下如何用C#生成ActiveX控件. 1. 建立WinForm的UserControl工程,在控件的属性页中选择"使程序集com可见" 分配Guid,在控件上加上GuidAttribute,这儿定义的Guid就是你的ActiveX控件的GUID了 2. 编译运行,编译运行(需要管理员权限)后可以通过系统的用户控件测试容器简单的测试该控件, 3. 发布

可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取)

可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取) 分类: SharePoint2011-12-23 14:44 1584人阅读 评论(0) 收藏 举报 文档sharepointurl测试stringforms 可视化webpart基础开发——TreeView控件读取文档库中的所有文件夹和文件(递归方法读取) 1.在部署的sharepoint网站中新建一个名为“测试文档库”的文档库,并添加各级的子文件夹和子文件,用于测试 2.在VS2010中新建空

Web 开发工具控件ASPxperience Suite

ASPxperience Suite 是我们下一代的 Web 开发工具控件,可以为客户带来更多优秀体验,包括导航.数据布局管理以及嵌在 Web 应用程序中的浮动控件的应用.它从底层编写,然后使用支持 ASP.NET 2.0 Framework ,并且完全支持 out-of-the-box AJAX .此产品包含在产品集合 DXperience Universal Subscription 中. 具体功能: 包含在 ASPxperience Suite 中的控件只产生少量的 HTML 代码 可以根

IOS开发 UIView控件

1.万物皆对象 2.LBS:基于位置的服务(热门) 3.在启动XCODE创建项目的时候最好勾选 git 4.在SB界面中更改UILabel 之类的控件里面的内容,控件的frame会随着内容的大小而改变,但是在右侧的属性栏里面更改则不会影响frame 5.IBAction:SB界面原来叫Interface Builder 缩写为IB, 6.M_PI_4  代表45°  以此类推 // OC语法规定:不允许直接修改 某个对象中结构体属性的成员 ? 1 2 3 4 5 6 7 8 // 1.先取出fr

使用VC2008中ATL开发浏览器控件

http://blog.csdn.net/cnjet/article/details/6218355 使用VC2008中ATL开发浏览器控件 2011.03.02 [email protected] 介绍 本文将介绍使用VC2008中的ATL开发一个用于网络部署的cab控件包的过程. 建立ATL项目 打开VS2008,建立一个ATL项目,如下图: 考虑到简介性,选择了"Allow merging of proxy/stub code" 添加ATL控件 (建议先编译一下真个project