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

用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个图形。包含在你的项目中即可了。

一、控件的使用

控件使用的效果:

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

拖动slider就发现表针在转动。

本控件使用了以下的2个库:

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

打开XCODE 6.1 以下的界面。加入就可以。

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

以下谈谈。怎样在项目中使用这个控件。代码说话:

@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”)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115309.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java 处理json经常使用代码

    Java 处理json经常使用代码

    2022年1月28日
    126
  • 重大版四年级上册信息技术教案_走进计算机教案

    重大版四年级上册信息技术教案_走进计算机教案辽师大版信息技术四下第一单元第6课《最炫民族风》教案3.docx文档编号:536849文档页数:6上传时间:2019-01-13文档级别:文档类型:docx文档大小:13.25KB第6课最炫民族风教学目标设计知识与技能目标通过学习使学生掌握word里“页面设置”里“页边距”和“纸张”的使用和操作方法。在掌握以前学习有关知识的基础上,能够较灵活的应用该设置对页面进行调…

    2022年9月22日
    1
  • ubuntu性能优化_ubuntu系统安装教程

    ubuntu性能优化_ubuntu系统安装教程有两个工具可以帮助减少电脑过热问题,提升系统性能。特别是比较慢的笔记本。TLP开始后自动在后台运行。sudoadd-apt-repositoryppa:linrunner/tlpsudoapt-getupdatesudoapt-getinstalltlptlp-rdwsudotlpstartindicator-cpufreqsudoapt-getinstallindi

    2022年9月19日
    4
  • BigDecimal除法问题

    BigDecimal除法问题BigDecimal做除法时,尽量使用divide(BigDecimaldivisor,intscale,introundingMode),这个方法divisor:被除数  scale保留小数位数  roundingMode保留小数时采用的方法,一般使用BigDecimal.ROUND_UP(四舍五入)如果不指定保留小数位数,在遇到除不尽的情况下就会报错BigDecimal源码:…

    2022年6月15日
    33
  • Python win32api_python api文档

    Python win32api_python api文档本文整理汇总了Python中win32api.SetCursorPos方法的典型用法代码示例。如果您正苦于以下问题:Pythonwin32api.SetCursorPos方法的具体用法?Pythonwin32api.SetCursorPos怎么用?Pythonwin32api.SetCursorPos使用的例子?那么恭喜您,这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方…

    2022年10月11日
    1
  • pycharm设置代理_mac pycharm怎么设置环境

    pycharm设置代理_mac pycharm怎么设置环境一、Shadowsocket用默认端口即可不需要改二、mac网络三、Pycharm配置代理检测成功四、然而执行代码还是没走代理最后方式直接request加代理#!/usr/bin/evnpython#-*-coding:utf-8-*-importrequestsproxy={“http”…

    2022年8月26日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号