以编程方式向上或向下滚动选择器视图

Programmatically scroll a Picker View up or down

如您在此处所见,Picker 视图上方的工具栏同时具有下一步和后退按钮,我想在用户单击这些按钮时以编程方式上下滚动 Picker 视图。我不知道如何做同样的事情。请帮助我了解如何实施。

您的<> 按钮需要关联操作,让我们为“selectNext”做一个例子。我假设您只有一个组件:

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

@objc func selectNext() {
    let currentSelectedRow = pickerView.selectedRow(inComponent: 0)
    guard currentSelectedRow < 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.selectRow(0, inComponent: 0, animated: false)
    }        
}

selectPrevious 函数将遵循同样的规则。您还可以添加更多检查以确保您要访问的元素 select 没有越界,或者 myElements 包含元素。