0
選択した各テキストボックスに対して別々のピッカービューを作成しようとしています。これまでに私が得た最も近いのは、選択する項目の個別のリストを必要とするテキストボックスごとに同じピッカービューを持つことです。複数のピッカービューをプログラムで作成する方法
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]
}
}
dogBreedPickerの代わりに関数内でifステートメントを使用できますか?ちょうど1を返すのではなく、コンポーネントの数に似ています。 if dogBreedPicker - 1を返し、そうでない場合はcatBreedPickerが必要なものを返します。あなたが持っているすべての機能のためにそれを行います。また、各テキストフィールドについて、必要なピッカーを必ず使用してください。 – Douglas
シングルピッカーを使用して、textfldのベースにコンテンツをロードするelse elseまたはswitchを使用してpicker useタグにコンテンツをロードして、ピッカーにロードするコンテンツを検出し、ピッカービューのコンポーネントをリロードします。 –