论Swift开发入门:滑块(UISlider)

  • 转载请声明出处:http://blog.csdn.net/jinnchang/article/details/44487407
    ------------------------------------------------------------------------------------------

    1、Summary

    ------------------------------------------------------------------------------------------

    2、Code

    01. //
    02. //  ViewController.swift
    03. //  UISliderSample
    04. //
    05. //  Created by jinnchang on 15/3/19.
    06. //  Copyright (c) 2015年 Jinn Chang. All rights reserved.
    07. //
    08.  
    09. import UIKit
    10.  
    11. class ViewController: UIViewController {
    12.  
    13. var mySlider: UISlider?
    14.  
    15. override func viewDidLoad() {
    16.  
    17. // 定义一个按钮,使 slider 复位
    18. let button1 = UIButton.buttonWithType(.System) as? UIButton
    19. button1?.frame = CGRectMake(self.view.frame.width/2 1005020050)
    20. button1?.setTitle("reset", forState: UIControlState.Normal)
    21. button1?.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside)
    22. button1?.tag = 1
    23.  
    24. // 定义一个按钮,获取当前 slider 的值
    25. let button2 = UIButton.buttonWithType(.System) as? UIButton
    26. button2?.frame = CGRectMake(self.view.frame.width/2 10015020050)
    27. button2?.setTitle("get value", forState: UIControlState.Normal)
    28. button2?.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside)
    29. button2?.tag = 2
    30.  
    31. // 定义一个 slider
    32. mySlider = UISlider(frame:CGRectMake(self.view.frame.width/2 100400200100))
    33. // 设置滑块所能滚动到的最小值
    34. mySlider?.minimumValue = 0
    35. // 设置滑块所能滚动到的最大值
    36. mySlider?.maximumValue = 100
    37. // 设置默认值
    38. mySlider?.value = 20
    39. // 设置是否连续触发事件,如果设为 false,在滑动过程中不触发,如果设为 true,在滑动过程中会连续触发
    40. mySlider?.continuous = true
    41. // 设置滑块左轨的图片
    42. mySlider?.setMinimumTrackImage(UIImage(named: "track.png"), forState: UIControlState.Normal)
    43. // 设置滑块右轨的图片
    44. mySlider?.setMaximumTrackImage(UIImage(named: "track.png"), forState: UIControlState.Normal)
    45. // 设置滑块的图片
    46. mySlider?.setThumbImage(UIImage(named: "thumb.png"), forState: UIControlState.Normal)
    47. // 注意这里要加UIControlStateHightlighted的状态,否则当拖动滑块时滑块将变成原生的控件
    48. mySlider?.setThumbImage(UIImage(named: "thumb.png"), forState: UIControlState.Highlighted)
    49. // 设置 slider 左侧图片
    50. mySlider?.minimumValueImage = UIImage(named: "min.png")
    51. // 设置 slider 右侧图片
    52. mySlider?.maximumValueImage = UIImage(named: "min.png")
    53. // 添加控制事件
    54. mySlider?.addTarget(self,action:Selector("sliderValueChange:"), forControlEvents: UIControlEvents.ValueChanged)
    55. mySlider?.addTarget(self,action:Selector("sliderDragUp:"), forControlEvents: UIControlEvents.TouchUpInside)
    56.  
    57. self.view.addSubview(button1!)
    58. self.view.addSubview(button2!)
    59. self.view.addSubview(mySlider!)
    60. }
    61.  
    62. /// 按钮响应事件
    63. func buttonAction(sender: UIButton) {
    64. var num = sender.tag
    65. switch num {
    66. case 1:
    67. if(mySlider?.value != 20){
    68. mySlider?.setValue(20, animated: true)
    69. }
    70. case 2:
    71. println("value:(mySlider!.value)")
    72. default:
    73. break
    74. }
    75. }
    76.  
    77. /// 滑块拖动时的事件
    78. func sliderValueChange(sender: UISlider) {
    79. println("value:(sender.value)")
    80. }
    81.  
    82. /// 滑块拖动后的事件
    83. func sliderDragUp(sender: UISlider) {
    84. println("value:(sender.value)")
    85. }
    86.  
    87. }
    ------------------------------------------------------------------------------------------

    3、Resource

    Github 上项目地址:https://github.com/jinnchang/JinnSwiftSamples/tree/master/UISliderSample

    文章最后更新时间:2015年3月20日09:54:24。参考资料如下:

    UIKit User Interface Catalog: Sliders

    UISlider Class Reference

延伸阅读:

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值