Swift - 选择框(UIPickerView)的用法

1,选择框可以让用户以滑动的方式选择值。示例如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import UIKit
class ViewController : UIViewController , UIPickerViewDelegate UIPickerViewDataSource {
var pickerView: UIPickerView !
override func viewDidLoad() {
super .viewDidLoad()
pickerView= ()
//将dataSource设置成自己
pickerView.dataSource= self
//将delegate设置成自己
pickerView.delegate= self
//设置选择框的默认值
pickerView.selectRow(1,inComponent:0,animated: true )
pickerView.selectRow(2,inComponent:1,monospace!important; min-height:inherit!important">)
pickerView.selectRow(3,inComponent:2,monospace!important; min-height:inherit!important">)
self .view.addSubview(pickerView)
//建立一个按钮,触摸按钮时获得选择框被选择的索引
let button= UIButton (frame: CGRectMake (0,100,30))
button.center= .view.center
button.backgroundColor= UIColor .blueColor()
button.setTitle( "获取信息" Normal )
button.addTarget( "getPickerViewValue" forControlEvents: UIControlEvents . TouchUpInside )
.view.addSubview(button)
}
//设置选择框的列数为3列,继承于UIPickerViewDataSource协议
numberOfComponentsInPickerView( pickerView: ) -> Int {
return 3
}
//设置选择框的行数为9行,继承于UIPickerViewDataSource协议
pickerView(pickerView: {
9
}
//设置选择框各选项的内容,继承于UIPickerViewDelegate协议
)
-> String ? {
return (row)+ "-" + (component)
}
//触摸按钮时,获得被选中的索引
getPickerViewValue(){
alertView= UIAlertView ();
alertView.title= "被选中的索引为"
alertView.message= (pickerView.selectedRowInComponent(0)) + "-"
(pickerView!.selectedRowInComponent(1)) + "-"
(pickerView.selectedRowInComponent(2))
alertView.addButtonWithTitle( "OK" )
@H_21_404@alertView.show()
}
}

2,调整选择框的尺寸
UIPickerView用frame和center两个属性设置整个选择框的大小和位置。
如果要调整内部列的宽度,需要实现UIPickerViewDelegate协议类中pickerView:widthForComponent方法设置
如果要调整内部行高,则需要实习上述协议类中pickerView:rowHeightForComponent方法设置
15
//设置列宽
) -> CGFloat {
if (00 == component){
//第一列变宽
100
} else {
//第二、三列变窄
30
}
}
//设置行高
{
50
}

3,将图片作为选择框选项
选择框选项的内容,除了可以使字符串类型的,还可以是任意UIView类型的元素。比如我们将选项内容设置为图片
7
reusingView view: UIView ?) -> image = UIImage (named: "icon_" (row))
imageView = UIImageView ()
imageView.image = image
imageView
}

4,检测响应选项的选择状态
5
) {
//将在滑动停止后触发,并打印出选中列和行索引
print (component)
(row)
}

原文出自: www.hangge.com 转载请保留原文链接 http://www.hangge.com/blog/cache/detail_541.html

相关文章

Swift 正式开源!Swift 团队很高兴宣布 Swift 开始开源新篇章。自从苹果发布 Swfit 编程语言,就成为了...
快,快,快!动动您的小手,分享给更多朋友! 苹果去年推出了全新的编程语言Swift,试图让iOS开发更简单...
开发者(KaiFaX) 面向开发者、程序员的专业平台! 和今年年初承诺的一样,苹果贴出了Swift语言的源码,...
本文由@Chun发表于Chun Tips :http://chun.tips/blog/2014/12/11/shi-yong-swift-gou-jian-zi-ding-yi...
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过...
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过...