Пожалуйста, объявите это textFieldName глобально:
NSString * textFieldName;
Распределение в didLoad:
- (void)viewDidLoad
{
[super viewDidLoad];
[pickerView setHidden:YES];
textFieldName=[NSString alloc]init];
pickerArray1 = [[NSMutableArray alloc] initWithObjects:@"apple", @"mango", @"banana", nil];
pickerArray2 = [[NSMutableArray alloc] initWithObjects:@"black", @"white", @"green", nil];
}
Пожалуйста, укажите имя текстового поля в строке textFieldName:
-(void)textFieldDidBeginEditing:(UITextField *)textField{
[pickerView setHidden:YES];
if (textField1.editing == YES)
{
textFieldName=textField1;
[pickerView setHidden:NO];
}
else
if (textField2.editing == YES)
{
textFieldName=textField2;
[pickerView setHidden:NO];
}
}
Тогдаиспользуйте это textFieldName для проверки в методе выбора:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView;
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
{
if (textFieldName isEqualToString:@"textField1")
{
return [pickerArray1 count];
}
else
if (textFieldName isEqualToString:@"textField2")
{
return [pickerArray2 count];
}
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;
{
if (textFieldName isEqualToString:@"textField1")
{
return [pickerArray1 objectAtIndex:row];
}
else
if (textFieldName isEqualToString:@"textField2")
{
return [pickerArray2 objectAtIndex:row];
}
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
if (textFieldName isEqualToString:@"textField1")
{
textField1.text= [pickerArray1 addObjectAtIndex:row];
}
else
if (textFieldName isEqualToString:@"textField2")
{
textField2.text= [pickerArray2 addObjectAtIndex:row];
}
[pickerView setHidden:YES];
}