我有UIPickerView
,其值为0 ... 250。 UIPickerView
中有2个组件。在第一个组件中,我显示这些值。但我想检测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]'
任何人都应该帮助我,请提前感谢: - )
答案 0 :(得分:0)
在viewDidLoad
方法内,您的选择器为空。如果延迟执行select调用,直到数据加载完成后,您可以执行此操作。可能只有一个周期就足够了。
您可以在viewDidAppear
或viewWillAppear
答案 1 :(得分:0)
发生这种情况是因为您在index
初始化pickerView
之前滚动到cell
75。 UIPickerView
仅先初始化可见的单元格,然后在滚动时初始化其余单元格。
在viewDidAppear
override func viewDidAppear(_ animated: Bool) {
pickerView.selectRow(75, inComponent: 0, animated: true)
}