Программно прокручивать вид выбора вверх или вниз - PullRequest
0 голосов
/ 26 сентября 2018

Как вы можете видеть здесь, на панели инструментов над окном выбора есть кнопки «Далее» и «Назад», и я хочу программно прокручивать представление «Подбор» вверх и вниз, когда пользователь нажимает на эти кнопки.Я не могу понять, как сделать то же самое.Пожалуйста, помогите мне понять, как реализовать то же самое.

enter image description here

1 Ответ

0 голосов
/ 26 сентября 2018
С кнопками

< и > должны быть связаны действия, давайте сделаем пример для "selectNext".Я предполагаю, что у вас есть только один компонент:

var myElements: [SomeType] = // whatever elements you are displaying
var pickerView: UIPickerView // maybe an outlet or initialised programmatically

@objc func selectNext() {
    let currentSelectedRow = pickerView.selectedRow(inComponent: 0)
    guard curretSelectedRow < myElements.count else {
        return
    }
    if currentSelectedRow + 1 < myElements.count {
        pickerView.selectRow(currentSelectedRow + 1, inComponent: 0, animated: true)
    } else { // next element is 0th of list
        pickerView.selecteRow(0, inComponent: 0, animated: 0)
    }        
}

Функция selectPrevious будет следовать той же схеме.Вы также можете добавить дополнительные проверки, чтобы убедиться, что элемент, который вы собираетесь выбрать, не выходит за пределы или что myElements содержит элементы.

...