您的位置:首页 > 移动开发 > Swift

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

2016-01-30 18:12 375 查看
转载请声明出处: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
 
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


延伸阅读:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: