Objective c 如何在没有用户交互的情况下调用pickerView:didSelectRow:Incomonent:?
我有两个组件,依赖于Objective c 如何在没有用户交互的情况下调用pickerView:didSelectRow:Incomonent:?,objective-c,ios,uipickerview,Objective C,Ios,Uipickerview,我有两个组件,依赖于pickerView。我有一个预览UIImageView,每次用户使用pickerView(并触发didSelectRow:incomonent:)时都会更改它。这正是我所期望的 但是,我希望当应用程序启动时,pickerView触发didSelectRow:,这样用户看到UIImageView时就会有预览。在viewDidLoad中,当我尝试此操作时: [self pickerView:picker didSelectRow:row inComponent:componen
pickerView
。我有一个预览UIImageView
,每次用户使用pickerView
(并触发didSelectRow:incomonent:
)时都会更改它。这正是我所期望的
但是,我希望当应用程序启动时,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:
方法,有什么建议吗
更新:顺便说一句,选择器在另一个
ui视图
中(不是主视图)。以防万一 根据你的评论,这就是你想要的。
您必须手动调用
didSelectRow
方法。didSelectRow:…
仅当用户交互选择了一行时才会被调用。如果使用selectRow:…
以编程方式选择行,则必须添加自己的逻辑以更新其他组件,如图像视图
这一原则适用于许多其他委托函数,例如,
tableView:didSelectRowAtIndexPath:
afaik–selectRow:incomonent:animated:
。如果将代码移动到viewdide
,会发生什么情况?它会选择指定的行和组件。但是didSelectRow:没有被触发。我想所有这些都完成了,因为它确实选择了我分配的行和组件,但是没有执行我在didSelectRow:中的代码。它甚至不输入您手动调用的didSelectRow方法的didSelectRow(使用NSLog测试)。它不会自动呼叫。检查这个是的,所有这些都完成了。我想Martin R在上面的回答中为我澄清了这一点。谢谢你的帮助。是的。。。我想是的。我只是想知道我是否做错了什么,因为我看到很多人说selectRow:triggers didSelectRow:。谢谢认可的。