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

来源:互联网 发布:淘宝怎样找在线客服 编辑:程序博客网 时间:2024/06/05 13:35
  • 转载请声明出处:http://blog.csdn.net/jinnchang/article/details/44487407
    ------------------------------------------------------------------------------------------

    1、Summary

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

    2、Code

    view sourceprint?
    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

延伸阅读:

    0 0
    原创粉丝点击