Вы можете просто проверить это в методе didSelectRow и отменить в случае необходимости.Вам нужно будет сохранить строку в свойстве.
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
//pseudocode
if(RowIsIllegalTest)
{
//[pickerViewOne selectRow:pickerViewRow inComponent:(what component is it in?) animated:YES]
}
else
{
//update the row for next time around
self.pickerViewRow = row;
}
return;
}
edit: вам также нужно будет хранить сохраненные строки pickerView отдельно