这个问题让我发疯了。我有一个我在viewDidLoad中加载的UIPickerView,我需要初始化要出现在屏幕上的选定行。我的代码如下:
self.pickerSkins.delegate = self;
[self.pickerSkins reloadAllComponents];
NSLog(@"%d", [self.pickerSkins numberOfRowsInComponent:0]);
[self.pickerSkins selectRow:1 inComponent:0 animated:NO];
我把它放在viewDidLoad中。 NSLog记录的值为2.但是,弹出的选定行始终是第一行而不是第二行。
如果我将selectRow放在viewWillAppear中,它也不起作用。
如果我将selectRow放在viewDidAppear中,则会出现PickerView,然后转到第二行。
更新:如果我有超过2行,该方法可以从viewDidLoad正常工作,除非我滚动到最后一行。如果我滚动到最后一行,该方法永远不会在viewDidLoad或viewWillAppear中工作。知道为什么会这样吗?谢谢。
如何在视图出现之前将所选行作为第二行?
感谢。