使用分段控件我尝试使用新的数据阵列重新加载2个UIPickerViews。
我的问题是新的数组不会显示,直到我在选择器上向上或向下滚动(旧数据一旦离开视图就会消失)。我尝试过使用reloadAllComponents方法没有运气。这是代码的样子:
//Segment Control
-(IBAction)unitType:(id)sender {
if([sender selectedSegmentIndex]==0){
NSLog(@"unitType change 1");
NSLog(@"before values = %@",units);
[units removeAllObjects];
[units addObject:@"in"];
//etc.
[self.inputUnits reloadAllComponents];
NSLog(@"current values = %@",units);
}else {
NSLog(@"unitType change 2");
NSLog(@"before values = %@",units);
[units removeAllObjects];
[units addObject:@"in^3"];
//etc.
[self.inputUnits reloadAllComponents];
NSLog(@"current values = %@",units);
}
}
IB有两个UIPickerViews连接到文件的所有者,代表和数据源。
答案 0 :(得分:5)
您尚未将UIPickerView
与inputUnits
财产联系起来。因此,您对-reloadAllComponents
的调用将被发送到nil
,并且当pickerView想要显示新内容时(滚动时会执行此操作),事情才会更新。