我有一个包含 2 列的 UIpicker。当我在第一列中选择一行时,我成功加载数据并填充第 2 列。在单击该列之前,第 2 列中的新数据不会显示。尽管我已加载数据并调用了 reloadcomponent,但在单击之前仍会显示旧数据。
如何强制更新 UIpicker 以便显示第 2 列数据?
更新: 似乎该列仅在我单击时才更新,现在我看到如果我在第 1 列中选择一行并等待 4-5 秒,第 2 列最终会更新。这很奇怪。当我点击第 2 列时,它会立即更新。这不是模拟器问题吗?它可以在设备中运行吗?
最佳答案
根据要求使用以下内容
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)行 inComponent:(NSInteger)组件
{
switch (component)
enter code here{
case 0:
selectedKey = [notesToDisplayForKey objectAtIndex:row];
[pickerView reloadAllComponents];
return;
case 1:
// selectedScale = [scaleNames objectAtIndex:row];
if([selectedKey isEqualToString:@"UK" ])
/// use your actual stuff
关于ios - UIPicker,2 列,更新第二个组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32680453/