У меня есть приложение с UIPickerview
с 2 компонентами, которое берет данные из 2 массивов. Я установил второй компонент в строке 3, когда выбрана строка 1 в компоненте 0. Это было нормально, но моя проблема в том, что когда row
в компоненте 0 изменяется, я хочу, чтобы компонент 1 был сброшен в строку 0 (по умолчанию).
@IBOutlet weak var myPicker: UIPickerView!
let firstArray = ["a", "b", "c", "d"]
let secondArray = ["A", "B", "C", "D"]
override func viewDidLoad() {
super.viewDidLoad()
myPicker.delegate = self
myPicker.dataSource = self
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 2
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
switch component {
case 0: return firstArray.count
case 1: return secondArray.count
default: break
}
return 0
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
switch component {
case 0: return firstArray[row]
case 1: return secondArray[row]
default: break
}
return ""
}
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
if myPicker.selectedRow(inComponent: 0) == 1 {
myPicker.selectRow(3, inComponent: 1, animated: true)
}
}