- 转载请声明出处: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
-
100
,
50
,
200
,
50
)
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
-
100
,
150
,
200
,
50
)
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
-
100
,
400
,
200
,
100
))
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
论Swift开发入门:滑块(UISlider)
最新推荐文章于 2024-05-24 09:52:55 发布