我有一个UITableView
用于不同的数据。当用户选择一行时,我会弹出一个UIPickerView
让用户选择一些值。我已经实现了numberOfComponentsInPickerView
DataSource方法来返回UITableView
中不同行的组件数。实际上他们都是1。
但现在,我将从互联网上下载更多数据,并在UITableView
中添加更多行。完成下载后我打电话给[pickerView reloadAllComponents]
。我预计会调用numberOfComponentsInPickerView
,因此我可以在选择器视图中为UITableView
中的新行添加更多组件。但它不起作用。
我该怎么做?感谢。
答案 0 :(得分:5)
在IOS 5设备上运行的XCode 4.2中,我能够获取[pickerView reloadAllComponents]来更改UIPickerView中的组件数。
它的工作原理与您原先预期的完全相同。调用reloadAllComponents导致调用numberOfComponentsInPickerView方法。
答案 1 :(得分:1)
我找到了解决问题的方法。我没有尝试使UIPickerView重新加载并动态更改组件数量,而是使用两个UIPickerView,一个有1个组件,另一个有两个。当用户在tableview中选择不同的数据行时,我将在这两者之间切换。
希望如果其他人有类似的需求,这会有所帮助。