2015-01-19 5 views
-3

В моем проекте у меня есть функция, которая создает много переключателей. Эти кнопки находятся в массиве. Как отменить выбор других кнопок, когда я выбираю один?Отменить выбор радиокнопки

Часть моего кода, который работает с 2-мя кнопками и не работает с 4:

func pressedBtn(sender:UIButton){ 
    dispatch_async(dispatch_get_main_queue(), { 

     let lNumberOfCheckboxes = self.chkDay.count 
     for(var counter=0; counter<lNumberOfCheckboxes; counter++){ 
      if self.chkDay[counter].selected == false{ 
       self.chkDay[counter].selected = true 
       println(self.chkDay[counter].tag) 
      } else{ 
       self.chkDay[counter].selected = false 
      } 
     } 
    }) 
} 

И как не Deselect кнопку выбран, когда я нажимаю на него?

+0

Что именно не работает? Является ли настройка 'selected' подключенной к пользовательскому интерфейсу соответствующего переключателя? Почему вы используете 'dispatch_async'? –

+0

dispatch_async не требуется (забыли удалить =)). Каждая кнопка имеет состояние 'selected'. У меня есть массив из 4 кнопок, в которых 1-я кнопка имеет состояние 'selected = true'. когда я нажимаю на вторую кнопку - 1-й отменяет выбор и 2-й, 3-й и 4-й выбирает. O_o –

ответ

1

Предполагая, что self.chkDay является массивом UIButtons, вы можете использовать

func pressedBtn(sender:UIButton){ 
    for(checkBox in self.chkDay){ 
     if (checkBox == sender) { 
      checkBox.selected=true 
     } else { 
      checkBox.selected=false 
     } 
    } 
} 
+0

СПАСИБО СМОТРЕТЬ БОЛЬШЕ !!! –