如何调用pickerView:didSelectRow:inComponent:没有用户交互?

我有一个2组件,依赖pickerView 。 我有一个预览UIImageView ,每当用户使用pickerView (并触发didSelectRow:inComponent: 。 这工作正如我所料。

不过,我希望pickerView触发didSelectRow:当应用程序启动时,以便用户看到UIImageView有一个预览。 在viewDidLoad ,当我尝试这个:

 [self pickerView:picker didSelectRow:row inComponent:component]; // row and component have 0 values. 

接下来发生的事情 – pickerView显示空白! 删除这条线,它再次完美地工作。 我也试过这个:

 [picker selectRow: row inComponent:component animated:NO]; 

认为它会触发didSelectRow:但是它不会触发它,我的UIImageView保持空白。

任何关于如何在没有用户帮助的情况下调用didSelectRow:方法的build议?

更新 :顺便说一下,select器是在另一个UIView (不是主要的)。 如果重要的话。

didSelectRow:...只会在用户交互select行时调用。 如果用selectRow:...以编程方式select一行selectRow:...则必须添加自己的逻辑来更新其他组件(如图像视图)。

该原则对许多其他委托函数有效,例如tableView:didSelectRowAtIndexPath:

根据你的意见,这就是你正在寻找的东西。 UIPickerView的selectRow:inComponent:animated:调用pickerView:didSelectRow:inComponent:?

您必须手动调用didSelectRow方法。