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

Ser*_*iuc 3 objective-c uipickerview ios

我有2个组件,依赖pickerView.我有一个预览UIImageView,每次用户使用时都会更改pickerView(并触发didSelectRow:inComponent:).这正如我预期的那样工作.

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

[self pickerView:picker didSelectRow:row inComponent:component]; // row and component have 0 values. 
Run Code Online (Sandbox Code Playgroud)

接下来发生的事情 - pickerView显示空白!删除此行,它再次完美地工作.我也尝试过这个:

[picker selectRow: row inComponent:component animated:NO];
Run Code Online (Sandbox Code Playgroud)

认为它会触发didSelectRow:但是它不会触发它而我UIImageView仍然是空白的.

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

更新:顺便说一句,选择器在另一个UIView(不是主要的)内.万一重要.

Mar*_*n R 12

didSelectRow:...只有在用户交互选择了行时才会调用.如果以编程方式选择行,selectRow:...则必须添加自己的逻辑以更新其他组件,如图像视图.

该原则适用于许多其他委托功能,例如tableView:didSelectRowAtIndexPath:.