Я пытаюсь использовать два вида выбора в двух разных текстовых полях (я выравниваю их под текстовыми полями и скрываю до тех пор, пока они не будут вызваны). Я скрываю окна выбора до тех пор, пока не буду готов к использованию, и свяжу оба текстовых поля с соответствующими текстовыми полями. Первый просмотрщик работает нормально, но когда я нажимаю на второй, мой список не появляется, и он все еще скрыт. Я прочитал код несколько раз и не могу найти проблему, и посмотрел несколько видео и проверил документацию яблок безрезультатно. Код размещен ниже для просмотра и помощи. Заранее спасибо!
class fifthViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource, UITextFieldDelegate {
@IBOutlet weak var heightInput: UITextField!
@IBOutlet weak var weightInput: UITextField!
@IBOutlet weak var bmiOutput: UITextField!
@IBOutlet weak var weightPicker: UIPickerView!
@IBOutlet weak var heightPicker: UIPickerView!
var height = ["48", "49", "50"]
var weight = ["90", "91", "92"]
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
var countrows : Int = height.count
if pickerView == weightPicker {
countrows = self.weight.count
}
return countrows
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
if pickerView == heightPicker {
let titleRow = height[row]
return titleRow
}
else if pickerView == weightPicker {
let titleRow = weight[row]
return titleRow
}
return ""
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if pickerView == heightPicker {
self.heightInput.text = self.height[row]
self.heightPicker.isHidden = true
}
else if pickerView == weightPicker {
self.weightInput.text = self.weight[row]
self.weightPicker.isHidden = true
}
}
func textFieldDidBeginEditing(_ textField: UITextField) {
if (textField == self.heightInput) {
self.heightPicker.isHidden = false
}
else if (textField == self.weightInput) {
self.weightInput.isHidden = false
}
}```