用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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hbase列表排序

    hbase列表排序

    2021年12月17日
    179
  • Jenkins(3)拉取git仓库代码,执行python自动化脚本[通俗易懂]

    Jenkins(3)拉取git仓库代码,执行python自动化脚本[通俗易懂]前言python自动化的脚本开发完成后需提交到git代码仓库,接下来就是用Jenkins拉取代码去构建自动化代码了新建项目打开Jenkins新建一个自由风格的项目源码管理Repository

    2022年7月31日
    5
  • MariaDB 10.5 与 MySQL Server 8.0 的区别

    MariaDB 10.5 与 MySQL Server 8.0 的区别子查询中应用不同一 查询结果集的列 在子查询的查询结果集表不同这个是我用到的表 CREATETABLE c num day day num int 11 NOTNULL PRIMARYKEY day num USINGBTREE INSERTINTO asd380 c num day day num VALUES 1 INSERTINTO asd380 c num day day num VALUES 2 INS

    2025年8月2日
    6
  • springboot设置context_spring动态注入bean

    springboot设置context_spring动态注入bean2.0之前可以通过在配置文件中加入配置server.context-path实现。如:server.context-path=/2.0后通过在配置文件中加入配置server.servlet.context-path实现。如: server.servlet.context-path=/   …

    2025年12月12日
    4
  • ArcGIS与地理加权回归GWR【一】「建议收藏」

    ArcGIS与地理加权回归GWR【一】「建议收藏」公众号原文ArcGIS与地理加权回归GWR【一】https://mp.weixin.qq.com/s/fMPYxO3G7ff2192ZQICN-A开个新坑啊,写一写关于地理加权回归基础的东西(深了我也不会啊),希望也能用通俗的语言来记录一下我以前学习空间统计过程中的理解。1.传统线性回归不管你有没有系统学习过,对于线性回归,相信多少都有那么点了解。回归分析实质上就是研究一个或多个自变量X对一个因变量Y的影响关系情况,如研究各地房价影响因素。X1-Xn是n个自变量,β0-βn是未

    2022年10月7日
    5
  • siege压力测试软件,WEB压力测试工具Siege

    siege压力测试软件,WEB压力测试工具Siege介绍 Siege 是一个 http https 负载测试和基准测试工具 它旨在让 WEB 开发人员了解自己代码在压力测试中的执行性能 Siege 支持基本身份验证 Coockie HTTP HTTPS 和 FTP 协议 用户也可以通过配置来模拟访问服务器的并发用户数 是一款非常方便的压力测试工具 官方网址 http www joedog org 下载网址 http www joedog org pub si

    2025年8月8日
    4

发表回复

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

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