0
我正在嘗試爲每個選定的文本框創建一個單獨的選擇器視圖。到目前爲止,我所得到的最接近的是每個文本框都有相同的pickerview,它們需要自己單獨的項目列表進行選擇。如何以編程方式創建多個選擇器
class MainViewController: UIViewController, UITextFieldDelegate, UIPickerViewDataSource, UIPickerViewDelegate {
var dogBreedPickerArray = ["German Shepherd", "Huskie", "cray cray"]
var catBreedPickerArray = ["savanna", "cheetoh", "bengal"]
var maleFemalePickerArray = ["Male", "Female"]
var dogBreedPicker = UIPickerView()
var dogBreedPicker = UIPickerView()
var catBreedPicker = UIPickerView()
var maleFemalePicker = UIPickerView()
@IBOutlet var dogBreedTextBox: UITextField!
@IBOutlet var catBreedTextBox: UITextField!
@IBOutlet var maleFemaleTextBox: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
dogBreedPicker.delegate = self
dogBreedPicker.dataSource = self
dogBreedTextBox.inputView = dogBreedPicker
dogBreedTextBox.delegate = self
}
// dog picker functions
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return dogBreedPickerArray.count
}
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
petBreedTextBox.text = dogBreedPickerArray[row]
}
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return dogBreedPickerArray[row]
}
}
你可以在函數中使用if語句,而不是僅僅爲dogBreedPicker做。就像組件數量而不是僅返回1;如果dogBreedPicker - 返回1,否則如果catBreedPicker返回任何你想要的。爲所有你所擁有的func做到這一點。對於每個文本字段,請確保您使用您想要的選取器。 – Douglas
使用單個選擇器並在textfld使用的基礎上加載內容if else else或切換到加載選擇器使用標籤上的內容以檢測您必須加載到選取器上的內容並重新加載選取器視圖的組件。 –