论Swift开发入门:滑块(UISlider)
2016-01-30 18:12
375 查看
转载请声明出处:http://blog.csdn.net/jinnchang/article/details/44487407
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
sourceprint?
------------------------------------------------------------------------------------------
文章最后更新时间:2015年3月20日09:54:24。参考资料如下:
UIKit User Interface Catalog: Sliders
UISlider Class Reference
------------------------------------------------------------------------------------------
1、Summary
------------------------------------------------------------------------------------------
2、Code
viewsourceprint?
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
延伸阅读:
相关文章推荐
- swift5分钟语法速记
- Swift:用UICollectionView整一个瀑布流
- Swift:用UICollectionView整一个瀑布流
- 8.Swift 中的控制转移语句
- swift-数组array
- Ubuntu Make 新版上线:支持安装 Swift 编程语言
- Swift继承
- Swift方法
- Swift类和结构体
- swift算法手记-7
- Swift 基本知识之十九 swift懒加载(lazy修饰符)
- Swift 基本知识之十八 swift格式化输出和反射机制
- Swift中NSData与NSDictionary之间的相互转换
- Swift 基本知识之十七 swift遍历数组的几种方式
- Swift 基本知识之十六 swift与C 混编的两种方式
- Swift 基本知识之十五 swift编码
- Swift 基本知识之十四 Sizeof 和 sizeofValue 解析
- Swift 基本知识之十三 构造函数
- 思考 Swift 中的 MirrorType 协议
- 思考 Swift 中的 MirrorType 协议