Корректная работа с UIPickerVIew с двумя компонентами чисел - PullRequest
0 голосов
/ 13 апреля 2020

Я хочу выбрать в первом компоненте номер пять (например) и хочу, чтобы второй компонент автоматически отображался в ди git +1 из выбранного ди git в первом компоненте (то есть в шести), и в Второй компонент удалился до пяти (или другого, если я выберу).

Как я могу сделать это правильно?

Теперь мой код пуст:

var numbers: [Int] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]

func numberOfComponents(in pickerView: UIPickerView) -> Int {
    return 2
}

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    if component == 0 {
        return numbers.count
    } else {
        return numbers.count
    }
}

func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
    if component == 0 {
        return "\(numbers[row])"
    } else {
        return "\(numbers[row])"
    }
}

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {

}

enter image description here

1 Ответ

0 голосов
/ 13 апреля 2020

Может быть, что-то вроде этого, если я правильно понимаю ваш вопрос

 func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
     if component == 0 {
        componentOne = numbers.filter { (a) -> Bool in
            return a > numbers[row]
        }
        pickerView.reloadComponent(1)
        pickerView.selectRow(0, inComponent: 1, animated: true)
    }
 }

И использовать componentOne в методах dataSource.

Я не уверен, что вы должны делать в крайнем случае но вы можете выбрать.

...