我有 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:
方法的任何建议?更新 :顺便说一下,选择器在另一个
UIView
中(不是主要的)。万一有关系。 最佳答案
didSelectRow:...
只有在用户交互选择了一行时才会被调用。如果您使用 selectRow:...
以编程方式选择一行,那么您必须添加自己的逻辑来更新其他组件,如 ImageView 。
该原则适用于许多其他委托(delegate)功能,例如tableView:didSelectRowAtIndexPath:
。
关于objective-c - 如何调用pickerView : didSelectRow: inComponent: without user interaction?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13075474/