用swift开发仪表盘控件(一)
苹果swift刚刚推出不久,接触到这个语言是一个偶然的机会,无聊之余随便看了下它的语法:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveW5tYW95b25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
瞬间就被感动了,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" alt="">
以下谈谈。怎样在项目中使用这个控件。代码说话:
@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开发仪表盘控件(一)的更多相关文章
- 用swift开发仪表盘控件(二)
二.代码分析 这个控件本质就是从UIView继承的一个类而已.所以整个代码事实上就是一个定制的UIView类. 依据UIView的规则进行例如以下初始化: required init(coder aD ...
- .Net语言 APP开发平台——Smobiler学习日志:如何在手机上开发仪表盘控件
最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的"S ...
- 用C#开发ActiveX控件,并使用web调用
入职差不多两个月了,由学生慢慢向职场人做转变,也慢慢的积累知识,不断的更新自己.最近的一个项目里边,涉及到的一些问题,因为SDK提供的只是winform才能使用了,但是有需求咱们必须得完成啊,所以涉及 ...
- ATL开发 ActiveX控件的 inf文件模板
ATL开发 ActiveX控件的 inf文件模板
- 使用C#开发ActiveX控件(新)
前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是 ...
- IOS学习资源收集--开发UI控件相关
收集的一些本人了解过的iOS开发UI控件相关的代码资源(本文持续补充更新) 内容大纲: 1.本人在github上也上传了我分装好的一些可重复利用的UI控件 2.计时相关的自定义UILabel控件 正文 ...
- [转]C#开发ActiveX控件,.NET开发OCX控件案例
引自:百度 http://hi.baidu.com/yanzuoguang/blog/item/fe11974edf52873aaec3ab42.html 讲下什么是ActiveX控件,到底有什么 ...
- 使用C#开发ActiveX控件(新) 转 http://www.cnblogs.com/yilin/p/csharp-activex.html
前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是 ...
- [转] 使用C#开发ActiveX控件
双魂人生 原文 使用C#开发ActiveX控件 ActiveX 是一个开放的集成平台,为开发人员.用户和 Web生产商提供了一个快速而简便的在 Internet 和 Intranet 创建程序集成和内 ...
随机推荐
- java基础64 JavaScript中的Arrays数组对象和prototype原型属性(网页知识)
1.Arrays数组对象的创建方式 方式一: var 变量名=new Array(); //创建一个长度为0的数组. 方式二: var 变量名=new Array(长度); //创建一个指定长度的数组 ...
- thinkphp模型创建
- group by 并且 count(1)的linq写法
SELECT [MobleNo],count(1) FROM [CustMobleNo] group by [MobleNo] GO ===作用等于=== var rst = from c in da ...
- delphi 获取一个字符占用几个字节,方法
- JS Ajax异步请求发送列表数据后面多了[]
还在苦逼的写代码,这里就不详细了,直接抛出问题: 如图所示: 前端ajax请求向后端发送数据的时候,给key添加了[]出现很多找不到原因, 后面在说 解决方法: 暂时先这样记录一下,下次方便查找,好了 ...
- SQL Server 2000中查询表名,列名及字段类型
经常碰到一些忘记表名称的情况,此时只记得个大概,此时可通过查询系统表Sysobjects找到所要的表名,如要查找包含用户的表名,可通过以下SQL语句实现, Select * From sysobjec ...
- php 二维数组去重
function remove_duplicate($array){ $result=array(); foreach ($array as $key => $value) { $has = f ...
- printf的定义
1. printf的宏定义 #define XXX_ERROR 0#define XXX_WARNING 1#define XXX_INFO 2#define XXX_DEBUG 3#define X ...
- MySQL 字段类型占用空间
MySQL支持多种列类型:数值类型.日期/时间类型和字符串(字符)类型. 首先来看下各类型的存储需求(即占用空间大小): 数值类型存储需求 列类型 存储需求 TINYINT 1个字节 SMALLINT ...
- PhantomJS 远程做调试
做爬虫的工程师,一定会用到phantomjs,这是一个在linux上用的无界面的浏览器 在终端用phantomjs来爬取数据,或者是做测试,怎么去能看到执行到哪一步了,去实时的观测. 其实chrome ...