Ios 在“我的视图”控制器中的两个选择器视图之间通信
在我的项目中,picker1中有两个类别(音频/tv)。当用户单击音频行时,选择器2中的以下列表应更改为(audio1、audio2、audio3),如果选择器1中选择了电视,则选择器2中的列表应更改为(tv1、tv2、tv3) 在下面的函数中我应该写什么Ios 在“我的视图”控制器中的两个选择器视图之间通信,ios,iphone,objective-c,uipickerview,Ios,Iphone,Objective C,Uipickerview,在我的项目中,picker1中有两个类别(音频/tv)。当用户单击音频行时,选择器2中的以下列表应更改为(audio1、audio2、audio3),如果选择器1中选择了电视,则选择器2中的列表应更改为(tv1、tv2、tv3) 在下面的函数中我应该写什么 - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ if ([[dev
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
if ([[devicecatogery objectAtIndex:row] isEqual:@"Audio"]) {
NSLog(@"Audio is selected");
}else if ([[devicecatogery objectAtIndex:row] isEqual:@"TV"]){
NSLog(@"TV is selected");
}
NSLog(@"selected row:%d , component:%d" , row,component);
}
}
当您更改选择器1时,您可以使用
[picker2 selectRow:3 Uncomponent:0动画:否]
更改选择器2,并设置所需的值。必须更改第二个选择器值数组。这是在以下方法中使用的数组:
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
更改数组值后,必须按以下方式重新加载第二个选择器组件:
[secondPicker reloadAllComponents] /*or [secondPicker reloadComponent:0] if you have only one component*/
非常感谢你救了我一天。