2015-04-07 2 views
0

Я создал сборщик для рисования из 2 разных массивов, в зависимости от того, какие единицы пользователь хочет использовать. Все работает нормально, но после переключения переключателя пользователь должен переместить сборщик несколькими значениями перед обновлением дисплея, чтобы показать новые блоки. Неужели я ошибаюсь? Должен ли я иметь 2 отдельных сборщика с булевым для включения и выключения альфа?Как обновить отображаемые строки сборщика, не перемещая сборщик, в Swift?

Я надеялся, что будет простой способ заставить сборщика прыгнуть на 5 строк вперед или назад, что должно обновить весь дисплей до новых единиц, но я не могу найти способ сделать это. Любое направление было бы высоко оценено.

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! { 

    let flatKComp = 0 

    var formattedFlatK : String! 
    var formattedSteepK : String! 

    if dioptorsOn == true 
    { // linked to a UISwitch 

     formattedFlatK = String(format: "%.2f", flatKArrayD[row]) 
     formattedSteepK = String(format: "%.2f", steepKArrayD[row]) 

     if component == flatKComp 
     { 

      return formattedFlatK 

     } 

     else 
     { 

      return formattedSteepK 
     } 

    } 

    else 
    { 

     formattedFlatK = String(format: "%.2f", flatKArrayMM[row]) 
     formattedSteepK = String(format: "%.2f", steepKArrayMM[row]) 

     if component == flatKComp 
     { 

      return formattedFlatK 

     } 

     else 
     { 

      return formattedSteepK 
     } 
    } 
} 

ответ

2

Вы пробовали освежающийpickerView с помощью:

pickerView.reloadAllComponents() 
Смежные вопросы