2
我創建了一個可重複使用的UIPickerView
:如何通過值出可重複使用的PickerView.xib的迅速
PickerView.swift:
class PickerView: UIView, UIPickerViewDelegate, UIPickerViewDataSource {
@IBOutlet weak var pickerView: UIPickerView!
var labels: [String] = [] {
didSet {
self.pickerView.reloadAllComponents()
}
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
Bundle.main.loadNibNamed("PickerView", owner: self, options: nil)
self.addSubview(pickerView)
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return labels.count
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return labels[row]
}
}
此代碼,以便我可以通過將UIView
的類別設置爲PickerView
來初始化UIPickerView
:
而且將數據添加到UIPickerView
,我只是創建一個outlet
,並通過出口增加的數據。所以,我ViewController.swift文件看起來像這樣:
ViewController.swift:
class ViewController: UIViewController {
@IBOutlet weak var pickerView: PickerView!
override func viewDidLoad() {
super.viewDidLoad()
self.pickerView.labels = ["Label1","Label2","Label3"]
}
}
我的問題是:我怎樣才能通過didSelectRow
值了選擇器的使用在ViewController.swift中?