Состояние UIButton при переключении segmented control


#1

Здравствуйте!
есть segmented control, и есть массив из 4 кнопок.
выбрав кнопку, она становится isSelected, далее перехожу на следующий сегмент, и когда вернусь на предыдущий, нужно чтобы кнопка была там где её выбрали.
т.е. на каждом из сегментов будут выбраны разные кнопки.
как это лучше сделать?


заранее спасибо за помощь!!


#2

Создайте Dictionary, где ключом будет value из сегмента, а value (dictionary) будет массив кнопок.
Dictionary<Int, [UIBUtton]>
Все кнопки вешаете на один метод. При клике на кнопку ставите ей состояние isSelected, проверяете выбрано ли значение в сегменте, если да, то проверяете созданный Dictionary. Ищите там по ключу из сегмента и проверяете значение, находится ли там данная кнопка. Если кнопки нету, добавляете ее туда.
Аналогично обратный случай, когда отжимаете кнопку, только в случае нахождения кнопки, удаляете ее из массива с ключем по сегменту.
Далее вешаете сегмент на метод изменения значений. Когда значение смегмента меняется, вытаскиваете массив из Dictionary по ключу. Сбрасываете состояние всех кнопок к изначальному. После чего пробегаетесь по полученному массиву из Dictionary и каждой кнопке из массива ставите isSelected.