There are a couple of options here.
1) Grab the interaction with the second column and redefine it.
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;
This method can be implemented to simply return to where it was before the choice. However, they can still interact with the second column.
2) Just remove the column from the collector.
I think this is the best option. Have a few boolean "showSecondColumn". Then in:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
you can just check your little flag and return the corresponding number. UIPickerView has a method: reloadAllComponents
Good luck
source share