【发布时间】:2014-02-05 08:22:06
【问题描述】:
我有 2 个选择器,每个都有一个包含 4 个相同项目的数组。我希望当我在第一个选择器中选择任何值时,它会从第二个选择器中删除。
我写了一段代码,但它不起作用。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.inWord.delegate = self;
//Set tags to differentiate
from.tag=1;
to.tag=2;
//Load NSArray fromlang
_fromlang= [[NSArray alloc] initWithObjects:@"English",@"Spanish",@"German",@"Chinese", nil];
//Load NSArray tolang
_tolang= [[NSArray alloc] initWithObjects:@"1English",@"1Spanish",@"German",@"Chinese", nil];
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
if(pickerView.tag==1) // from
{
return _fromlang.count;
}
else //if(pickerView.tag==2) //to
{
return _tolang.count;
}
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
if(pickerView.tag==1) //from
{
if ([[_fromlang objectAtIndex:row ] isEqual:@"Spanish"])
{
_tolang = @[ @"English",@"DeleteSanish",@"German",@"Chinese"];
}
return [_fromlang objectAtIndex:row];
}
else //if(pickerView.tag==2) //to
{
return [_tolang objectAtIndex:row];
}
}
我尝试过一种情况,如果我在第一个选择器中选择西班牙语,它会在第二个选择器中显示 deletespanish。但是默认情况下,我将第二个选择器设置为 deletespanish。
谁能告诉我发生了什么?
【问题讨论】:
标签: ios cocoa-touch uipickerview