import UIKit
class ViewController: UIViewController ,UIPickerViewDelegate{
var pickerView:UIPickerView!
override func viewDidLoad() {
super.viewDidLoad()
var SCREEN_WIDTH = self.view.frame.width
var SCREEN_HIGHT = self.view.frame.height
pickerView = UIPickerView()
pickerView.delegate = self;
pickerView.selectRow(1, inComponent: 0, animated: true)
pickerView.selectRow(2, inComponent: 1, animated: true)
pickerView.selectRow(3, inComponent: 2, animated: true)
self.view.addSubview(pickerView);
let button = UIButton(frame: CGRectMake((SCREEN_WIDTH-100)/2,200,100,30))
// button.center = self.view.center
button.backgroundColor = UIColor.blueColor()
button.setTitle("讀取", forState: .Normal)
button.addTarget(self, action: "getPickerViewValue", forControlEvents: .TouchUpInside)
self.view.addSubview(button)
}
//------設(shè)置選擇框的列數(shù)為3列,繼承于UIPickerViewDataSource協(xié)議------
func numberOfComponentsInPickerView( pickerView: UIPickerView) -> Int{
return 3
}
//設(shè)置選擇框的行數(shù)為9行衬以,繼承于UIPickerViewDataSource協(xié)議
func pickerView(pickerView: UIPickerView,numberOfRowsInComponent component: Int) -> Int{
return 9
}
//設(shè)置選擇框各選項的內(nèi)容,繼承于UIPickerViewDelegate協(xié)議
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int)
-> String? {
return String(row)+"-"+String(component)
}
//觸摸按鈕時戴甩,獲得被選中的索引
func getPickerViewValue(){
let alertView = UIAlertView();
alertView.title="被選中的索引為"
alertView.message=String(pickerView.selectedRowInComponent(0)) + "-"
+ String(pickerView!.selectedRowInComponent(1)) + "-"
+ String(pickerView.selectedRowInComponent(2))
alertView.addButtonWithTitle("OK")
alertView.show()
}
//2摧玫,調(diào)整選擇框的尺寸
// UIPickerView 用 frame 和 center 兩個屬性設(shè)置整個選擇框的大小和位置筐摘。
//如果要調(diào)整內(nèi)部列的寬度,需要實現(xiàn) UIPickerViewDelegate 協(xié)議類中pickerView:widthForComponent 方法設(shè)置
//如果要調(diào)整內(nèi)部行高,則需要實習(xí)上述協(xié)議類中 pickerView:rowHeightForComponent 方法設(shè)置
// 原文出自:www.hangge.com 轉(zhuǎn)載請保留原文鏈接:http://www.hangge.com/blog/cache/detail_541.html
//設(shè)置列寬
func pickerView(pickerView: UIPickerView,widthForComponent component: Int) -> CGFloat{
if(0 == component){
//第一列變寬
return 50
}else{
//第二拇砰、三列變窄
return 50
}
}
//設(shè)置行高
func pickerView(pickerView: UIPickerView,rowHeightForComponent component: Int) -> CGFloat{
return 50
}
//3梅忌,將圖片作為選擇框選項
//選擇框選項的內(nèi)容,除了可以使字符串類型的除破,還可以是任意UIView類型的元素牧氮。比如我們將選項內(nèi)容設(shè)置為圖片:
// func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView?) -> UIView {
// let image = UIImage(named: "hello.png" + String(row))
// let imageView = UIImageView()
// imageView.image = image
// return imageView
//
// }
//4,檢測響應(yīng)選項的選擇狀態(tài)
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
//將在滑動停止后觸發(fā)瑰枫,并打印出選中列和行索引
print(component)
print(row)
}
}