发布于 2014-10-28 09:47:54 | 1370 次阅读 | 评论: 2 | 来源: 网友投递

这里有新鲜出炉的Swift教程,程序狗速度看过来!

Swift编程语言

SWIFT,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C*共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。


本文为大家讲解的是一个swift开发仪表盘控件的示例代码(一) ,感兴趣的同学参考下。

苹果swift刚刚推出不久,接触到这个语言是一个偶然的机会,无聊之余随便看了下它的语法:

瞬间就被感动了,switch 中居然大胆淘汰了break,完全是反人类的做法,其他语言没这么大胆和聪明,基本上switch, 都要搭配一大堆break(没有开发者考虑过繁琐性)。因为99%的时候要使用break,所以苹果干脆就省略了。当然如果你要穿越的话可以用 fallthrough。swift的优点还非常多此处省略1000字......

言归正传,下面介绍一下用swift开发的控件“MeterSwift”仪表控件。这个控件运行于IOS7+,有以下几个特点:

1、表盘尺寸灵活,可以在100×100 至 350×350的条件下使用。

2、刻度灵活可以自定义显示最大值、分度值。

3、修改灵活,替换表盘png、表针png完全就是你自己的控件(不必有罪恶感,我的图形也是网上down的)。

4、使用方便,就一个文件,2个图形,包括在你的项目中就行了。

一、控件的使用

控件使用的效果:


 

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

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

打开XCODE 6.1 下面的界面,添加即可。

下面谈谈,如何在项目中使用这个控件,代码说话:

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



最新网友评论  共有(2)条评论 发布评论 返回顶部
PHPERZ网友 发布于2014-10-29 01:10:20
转载为啥抹去我的名字?我的原创
  • 2楼  PHPERZ网友 回复于2014-10-29 01:32:22
    您好,本站内容全部来自网上搜集整理,如侵犯您的权益,请告诉我们或请留下你的原文地址.
  • 支持(0)  反对(0)  回复

    Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务