UISlider

     override func viewDidLoad() {
         super.viewDidLoad()

         titleLabel.text = titleString

         // Do any additional setup after loading the view.

         //创建
         var slider:UISlider = UISlider(frame: CGRectMake(, , , ))

         //添加到视图上
         self.view.addSubview(slider)

         //设置最小值
         slider.minimumValue = 

         //设置最大值
         slider.maximumValue = 

         //设置默认值
         slider.value = 

         //设置左端图片
         slider.setMinimumTrackImage(UIImage(named: "minimumTrackImage"), forState: UIControlState.Normal)

         //设置又端图片
         slider.setMaximumTrackImage(UIImage(named: "maximumTrackImage"), forState: UIControlState.Normal)

         //读取当滑块控件的值:
         var value = slider.value
         println(value)

         //添加通知,获取值改变
         slider.addTarget(self, action: "sliderValueChange:", forControlEvents: UIControlEvents.ValueChanged)

         //continuous默认是true,设置成false后,只有停止拖动才会触发sliderValueChange:方法
         slider.continuous = false

         //-----自定义滑块

         //定义左右图片
         var stetchLeftTrack:UIImage! = UIImage(named: "leftTrack.png")
         var stetchRightTrack:UIImage! = UIImage(named: "rightTrack.png")

         //定义滑块图片
          var thumbImage:UIImage! = UIImage(named: "thumbImage.png")

         //创建UISlider对象
         var newSlider:UISlider = UISlider(frame: CGRectMake(, , , ))
         newSlider.backgroundColor = UIColor.clearColor()
         newSlider.minimumValue = 0.5
         newSlider.maximumValue = 1.5
         newSlider.value = 1.0

         //设置左右图片
         newSlider.setMinimumTrackImage(stetchLeftTrack, forState: UIControlState.Normal)
         newSlider.setMaximumTrackImage(stetchRightTrack, forState: UIControlState.Normal)

         //设置拖动圆点的图片,注意这里要加UIControlState.Highlighted的状态,否则当拖动滑块时滑块将变成原生的控件
         newSlider.setThumbImage(thumbImage, forState: UIControlState.Normal)
         newSlider.setThumbImage(thumbImage, forState: UIControlState.Highlighted)

         //添加通知,获取值改变
         newSlider.addTarget(self, action: "newSliderValueChange:", forControlEvents: UIControlEvents.ValueChanged)

         //滑动拖动后的事件
         newSlider.addTarget(self, action: "newSliderTouchUpInside:", forControlEvents: UIControlEvents.TouchUpInside)

         self.view.addSubview(newSlider)
     }

     override func didReceiveMemoryWarning() {
         super.didReceiveMemoryWarning()
         // Dispose of any resources that can be recreated.
     }

     /*
     // MARK: - Navigation

     // In a storyboard-based application, you will often want to do a little preparation before navigation
     override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
         // Get the new view controller using segue.destinationViewController.
         // Pass the selected object to the new view controller.
     }
     */

     //slider值改变触发的方法
     func sliderValueChange(sender: AnyObject?)
     {
 //        var newSlider:UISlider = sender as UISlider

         //2015年5月2后修改
         var newSlider:UISlider = sender as! UISlider
         var value = newSlider.value
         println(value)
     }

     //自定义滑块使用

     //拖动事件
     func newSliderValueChange(sender: AnyObject?)
     {
 //        var newSlider:UISlider = sender as UISlider

         //2015年5月2后修改
         var newSlider:UISlider = sender as! UISlider
         println(newSlider.value)
     }

     //滑动拖动后的事件
     func newSliderTouchUpInside(sender: AnyObject?)
     {
 //        var newSlider:UISlider = sender as UISlider

         //2015年5月2后修改
         var newSlider:UISlider = sender as! UISlider
         println(newSlider.value)
     }
     
 

iOS开发——UI篇Swift篇&UISlider的更多相关文章

  1. iOS开发——技术精华Swift篇&Swift 2.0和Objective-C2.0混编之第三方框架的使用

    swift 语言是苹果公司在2014年的WWDC大会上发布的全新的编程语言.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.Swift语言采用安全编程模式,且引 ...

  2. iOS开发——新特性Swift篇&Swift 2.0 异常处理

    Swift 2.0 异常处理 WWDC 2015 宣布了新的 Swift 2.0. 这次重大更新给 Swift 提供了新的异常处理方法.这篇文章会主要围绕这个方面进行讨论. 如何建造异常类型? 在 i ...

  3. iOS开发——UI精选OC篇&UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍

    UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍 一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道 ...

  4. iOS开发——网络编程Swift篇&Alamofire详解

    Alamofire详解 预览图 Swift Alamofire 简介 Alamofire是 Swift 语言的 HTTP 网络开发工具包,相当于Swift实现AFNetworking版本. 当然,AF ...

  5. ios开发——实用技术总结Swift篇&swift常用开发技术总结

    swift常用开发技术总结 懒加载:属性,数组(字典),控件... 数组(懒加载): lazy var shops:Array<Dictionary<String, String>& ...

  6. ios开发——实用技术篇Swift篇&播放MP3

    播放MP3 // MARK: - 播放MP3 /*----- mp3 ------*/ //定时器- func updateTime() { //获取音频播放器播放的进度,单位秒 var cuTime ...

  7. iOS开发——网络编程Swift篇&(八)SwiftyJSON详解

    SwiftyJSON详解 最近看了一些网络请求的例子,发现Swift在解析JSON数据时特别别扭,总是要写一大堆的downcast(as?)和可选(Optional),看?号都看花了.随后发现了这个库 ...

  8. ios开发——实用技术篇Swift篇&地址薄、短信、邮件

    //返回按钮事件 @IBAction func backButtonClick() { self.navigationController?.popViewControllerAnimated(tru ...

  9. iOS开发——图形编程Swift篇&CAShapeLayer实现圆形图片加载动画

    CAShapeLayer实现圆形图片加载动画 几个星期之前,Michael Villar在Motion试验中创建一个非常有趣的加载动画. 下面的GIF图片展示这个加载动画,它将一个圆形进度指示器和圆形 ...

  10. iOS开发零基础--Swift篇 元组

    元组的介绍 元组是Swift中特有的,OC中并没有相关类型 它是什么呢? 它是一种数据结构,在数学中应用广泛 类似于数组或者字典 可以用于定义一组数据 组成元组类型的数据可以称为“元素” 元组的定义 ...

随机推荐

  1. Leetcode 225 Implement Stack using Queues

    Implement the following operations of a stack using queues. push(x) -- Push element x onto stack. po ...

  2. mysql数据库修改密码

    更改MySQL用户密码 方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password(' ...

  3. Linux 的 screen用法

    screen可以将任务挂起,即将任务放在后台,一般5个任务左右. 1.新建screen会话:直接输入screen命令或者screen -S [会话名称] 2.退出会话:按下组合键Ctrl+a并松开,此 ...

  4. Ubuntu上用快捷键关闭没有响应的程序

    Linux 上有很多方法可以强制关闭无响应的程序,比如你可以通过按快捷键 Ctrl + Shift + T 来调出 Terminal 或者用 Ctrl + Shift + F1 进入 Console ...

  5. stardict

    1.下载词典文件: 2.把下载到的文件移动到/tmp目录下 # mv stardict-*.bz2 /tmp 3.解压缩 # tar jxf stardict-oxford-gb-2.4.2.tar. ...

  6. RVM 安装&下载Ruby

    1. #查看当前ruby版本 2. $ ruby -v 3. ruby 1.8.7 4. #列出已知的ruby版本 5. $ rvm list known 6. #安装ruby 1.9.3 7. $ ...

  7. ajax 第一个程序

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  8. [原创]Devexpress XtraReports 系列 6 创建并排报表

    昨天我们已经介绍了如何创建交叉报表,详见:[原创]Devexpress XtraReports 系列 5 创建交叉报表 今天我们继续我们的XtraReports系列.Demo和数据库文件最后会附上. ...

  9. quartz 的job中获取到applicationContext

    第一步: 定义SchedulerFactoryBean的applicationContextSchedulerContextKey <bean name="scheduler" ...

  10. POJ 2386 Lake Counting (水题,DFS)

    题意:给定一个n*m的矩阵,让你判断有多少个连通块. 析:用DFS搜一下即可. 代码如下: #pragma comment(linker, "/STACK:1024000000,102400 ...