UIPickerView selectRow:inComponent:动画在viewDidLoad中不起作用但在viewDidAppear中工作

时间:2013-04-19 21:53:05

标签: iphone ios ipad uipickerview

这个问题让我发疯了。我有一个我在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中工作。知道为什么会这样吗?谢谢。

如何在视图出现之前将所选行作为第二行?

感谢。

0 个答案:

没有答案