int variabla;
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
if (variabla == 1)
return list4.count;
else if(variabla == 2)
return list3.count;
if (variabla == 3)
return list1.count;
if (variabla == 4)
return list2.count;
return YES;
[pickerView reloadAllComponents];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
if (variabla == 1) {
subjectField.text = [list4 objectAtIndex:row];
}
else if (variabla == 2) {
gradeField.text = [list3 objectAtIndex:row];
}
else if (variabla == 3) {
mathField.text = [list1 objectAtIndex:[pickerView selectedRowInComponent:0]];
selectedRow = [pickerView selectedRowInComponent:0];
coreTView.text = [mathMeaning objectAtIndex:selectedRow];
}
if (variabla == 4) {
elaField.text = [list2 objectAtIndex:[pickerView selectedRowInComponent:0]];
selectedRow = [pickerView selectedRowInComponent:0];
coreTView.text = [elaMeaning objectAtIndex:selectedRow];
}
[pickerView reloadAllComponents];
NSLog(@"row selected is %d", selectedRow);
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
if (variabla == 1)
return [list4 objectAtIndex:row];
if (variabla == 2)
return [list3 objectAtIndex:row];
if (variabla == 3)
return [list1 objectAtIndex:row];
if (variabla == 4)
return [list2 objectAtIndex:row];
return NO;
[pickerView reloadAllComponents];
}
I would like to know or pointed in the right direction on how to load a UIPickerView based on the user input from a previous UITextField so if they type in the previous textfield apple, I would like red, green, blue to show in the UIPickerView or if they type orange, I would like to see orange, yellow.
Sounds like a good time to use a multidimensional array:
Now all you need is an
int(looks like you’re usingvariabla) that represents the input- for example, if the user entered “Apple”, then you’d setvariablato 0; if they entered “Orange”, setvariablato 1; and so on.Then, you could set up the relevant functions accordingly:
You may add support for as many words as you want by simply adding another
NSArraytotitles.