1

我有一个UIPickerView值为 0...250 的值。中有 2 个组件UIPickerView。在第一个组件中,我正在显示这些值。但我想检测UIPickerView. 因为当 pickerView 出现时,我想显示的值为 75。表示 pickerView 滚动到第 75 行。用户可以使用值 0...250 上下滚动选择器。我已经在UIPickerView titleForRow row: Int方法中尝试过这段代码

pickerView.selectRow(75, inComponent: 0, animated: true)

在这种情况下,当 pickerView 出现时,选定的值为 75。下面正是我想要的

在此处输入图像描述

但问题是在滚动pickerView我的应用程序崩溃时出现以下错误

[__NSArrayM objectAtIndex:]: index 1 beyond bounds [0 .. 0]'

任何人帮助我请提前谢谢:-)

4

2 回答 2

1

在 viewDidLoad 方法内部,您的选择器是空的。如果您将 select 调用的执行延迟到数据加载完成之后,您可以执行此操作。可能一个周期就足够了。

您可以添加它 viewDidAppearviewWillAppear

于 2017-08-31T10:31:43.553 回答
0

发生这种情况是因为您在初始化index之前滚动到 75 。仅先初始化可见单元格,然后在滚动时初始化其余单元格。pickerViewcellUIPickerView

这样做viewDidAppear

override func viewDidAppear(_ animated: Bool) {
    pickerView.selectRow(75, inComponent: 0, animated: true)
}
于 2019-11-15T11:40:05.163 回答