我可以以编程方式滚动到UIPickerView中的所需行吗?

时间:2011-02-04 04:55:06

标签: ios objective-c swift uipickerview

默认情况下,初始化UIPickerView后会突出显示第一行。如何突出显示特定行或以编程方式滚动到特定行?

5 个答案:

答案 0 :(得分:63)

与往常一样,这是完整记录的。 UIPickerView的Apple文档应该告诉您,您可能需要的方法是– selectRow:inComponent:animated:

答案 1 :(得分:35)

如果你想触发委托的方法pickerView:didSelectRow:inComponent,你应该手动调用它:

<强>的OBJ-C

[self.myPickerView selectRow:0 inComponent:0 animated:NO];
[self pickerView:self.myPickerView didSelectRow:4 inComponent:0];

<强>夫特

self.myPickerView.selectRow(0, inComponent: 0, animated: false)
self.pickerView(self.myPickerView, didSelectRow: 0, inComponent: 0)

答案 2 :(得分:33)

是的,这很容易[picker selectRow:row inComponent:component animated:NO];

答案 3 :(得分:2)

  

使用XCode 7.3在iOS 9中工作,在名为fieldPicker的选择器视图中对数据进行运行时更改:

>>> eval("abs(-9.451)**0.4")
2.4557893140046687

答案 4 :(得分:0)

在将pickerView添加为子视图之后,请检查是否在{strong>之后调用方法self.myPickerView.selectRow(0, inComponent: 0, animated: false)

首先,我在之前调用了方法,我将pickerView添加为子视图,但是它不起作用。因此,我后来叫它,然后它起作用了!

可能很明显,不是我最明智的举动,但是也许某天某人也遇到同样的问题,希望我能帮上忙! :)