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


相关推荐

  • Wannacry分析

    Wannacry分析一、加密程序(WannaCryptor.exe)1.释放①概览②细节加载资源(多个zip文件),使用开源代码解压,zip文件标志(PK…)解压所得:b.wry(bmp)c.wry(含

    2022年7月1日
    31
  • 数据库分库分表解决方案汇总

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者 | butterfly100 来源 | cnblogs.com/butterfly100/…

    2021年6月24日
    78
  • JSP程序设计课后习题答案

    JSP程序设计课后习题答案第一章JSP概述1-1JSP的全称是什么?JSP有什么优点?JSP与ASP、PHP的相同点是什么?JSP的全称是JavaServerPages。优点:跨平台、分离静态内容和动态内容、可重复使用的组件、沿用了JavaServlet的所有功能、具有预编译性。共同点:可以在页面中加入脚本代码来生成动态内容。1-2JSP中可重复使用的组件有哪些?JavaBean组件、JSP的标准标签和自定义标签。1-3什么是JSP的预编译特征?预编译是JSP的另一个重要的特性。JSP

    2022年6月16日
    25
  • 几个Python小案例,爱上Python编程!「建议收藏」

    Python是一种面向对象的解释型编程语言,源代码与解释器CPython遵守GPL协议,Python语法简洁清晰。语法简洁清晰,那么我们用少量的Python代码能做哪些有趣的东西?一、画爱心表白1、图形都是由一系列的点(X,Y)构成的曲线,由于X,Y满足一定的关系,所以我们就可以建立模型,建立表达式expression,当满足时,两个for循环(forXinrange;f…

    2022年4月5日
    65
  • 如何查看mac系统是32位还是64位的操作系统

    如何查看mac系统是32位还是64位的操作系统

    2022年2月9日
    72
  • oracle安装完如何使用,Oracle11g安装及使用详解

    oracle安装完如何使用,Oracle11g安装及使用详解一、首先我们在官网下载Oracle11g,链接如下:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html注意系统位数和文件个数两个文件都要下载,过程可能比价漫长,可以敲会代码或者做几篇阅读理解缓解一下情绪(为接下来操蛋的安装过程做好充分的心理准备)二、安装可以参考已下链接http://…

    2022年7月25日
    23

发表回复

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

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