用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 创建程序集成和内 ...
随机推荐
- 奇妙的CSS之CSS3新特性总结
随着CSS3标准的发布,越来越多的浏览器开始支持最新的CSS标准,虽然还有些新特性支持的不够完美,但相信未来的浏览器一定会完全支持CSS3的,毕竟这代表着大趋势!下面l列出来一些CSS3中出现的新特性 ...
- .net程序员写业务代码需要注意的地方
代码规范要求1.命名空间规范:dao层的impl实现和接口采用一样的命名空间,到对应文件夹层:IxxDaoContext与其实现类采用顶级命名空间. 2.TableEntity文件夹:所有的实体放到各 ...
- springboot 零xml集成mybatis-plus
工程结构 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&quo ...
- Opencv算法运行时间
使用getTickCount() 需要导入命名空间cv,using namespace cv; double t = getTickCount(); funciont(); double tm = ( ...
- 【LOJ】#2672. 「NOI2012」魔幻棋盘
题解 代码7.1KB,人傻代码长 恶心死我了这代码真的把我写恶心了= = 想一想就知道这个东西--维护到中心的差分,然后用二维线段树维护一下矩形的gcd 嗯,我说完了,你写吧. 首先这个二维线段树的单 ...
- 制作Label标签文件时,使用convert_imageset.exe的注意事项
当前的convert_imageset.exe版本做了一下修改 //status = ReadImageToDatum(root_folder + lines[line_id].first, //li ...
- 第一个web程序(ServletRequest , ServletResponse)
一.ServletRequest 1.获取参数的方法(四种) > String getParameter(String name): 根据请求参数的名字, 返回参数值. 若请求参数有多个值(例如 ...
- mysql关联表插入-php环境中
$insertsql=<<<EOTinsert into tb_manager values(null,'$name','$pwd','1');select @pid:=last_i ...
- python opencv3 静态图片检测人脸
git:https://github.com/linyi0604/Computer-Vision # coding:utf-8 import cv2 filename = "../data/ ...
- flask使用flask_sqlalchemy连接数据库(python2.7)
1.出现编码问题 解决方法: #连接数据库时出现编码问题,需要pip install mysql-connector-python,并且数据库配置修改为 import mysql.connector ...