как реализовать поведение переключателя? - PullRequest
0 голосов
/ 01 сентября 2011

У меня есть две кнопки UIB.они ведут себя как флажки (обе кнопки можно выбрать одновременно).Но я хочу, чтобы только одна кнопка могла выбирать за раз (как переключатели)Как мне это сделать?Вот так я реализую функцию кнопки-флажка.

if ([btnAnswer1 isSelected]) {
        [btnAnswer1 setBackgroundImage:[UIImage imageNamed:@"checkbox_unchecked.png"] forState:UIControlStateNormal];
        [btnAnswer1 setSelected:NO];

    }else {
        [btnAnswer1 setBackgroundImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateSelected];
        [btnAnswer1 setSelected:YES];
    }



    if ([btnAnswer2 isSelected]) {
        [btnAnswer2 setBackgroundImage:[UIImage imageNamed:@"checkbox_unchecked.png"] forState:UIControlStateNormal];
        [btnAnswer2 setSelected:NO];
    }else {
        [btnAnswer2 setBackgroundImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateSelected];
        [btnAnswer2 setSelected:YES];
    }

Ответы [ 2 ]

2 голосов
/ 01 сентября 2011

Обычно я использую переключатели:

-(void) radioButtonWasSelected:(RadioButton*) which
{
    //set all radio buttons to unselected
    //set 'which' to selected

    //do something with 'which'

}
1 голос
/ 01 сентября 2011

Хотя я не проверял, просто попробуйте с данным измененным кодом.

    if ([btnAnswer1 isSelected]) 
    {
        [btnAnswer1 setBackgroundImage:[UIImage imageNamed:@"checkbox_unchecked.png"] forState:UIControlStateNormal];
        [btnAnswer1 setSelected:NO];
        selected = FALSE;
        [btnAnswer2 setBackgroundImage:[UIImage imageNamed:@"checked.png"] forState :UIControlStateSelected];
        [btnAnswer2 setSelected:YES];
    }
    else 
    {
        [btnAnswer1 setBackgroundImage:[UIImage imageNamed:@"checked.png"] forState: UIControlStateSelected];
        [btnAnswer1 setSelected:YES];
        [btnAnswer2 setBackgroundImage:[UIImage imageNamed:@"checkbox_unchecked.png"] forState: UIControlStateNormal];
        [btnAnswer2 setSelected:NO];
        selected = TRUE;
    }

    if ([btnAnswer2 isSelected]) 
    {
        [btnAnswer2 setBackgroundImage:[UIImage imageNamed:@"checkbox_unchecked.png"] forState: UIControlStateNormal];
        [btnAnswer2 setSelected:NO];
        [btnAnswer1 setBackgroundImage:[UIImage imageNamed:@"checked.png"] forState: UIControlStateSelected];
        [btnAnswer1 setSelected:YES];
    }
    else 
    {
        [btnAnswer2 setBackgroundImage:[UIImage imageNamed:@"checked.png"] forState: UIControlStateSelected];
        [btnAnswer2 setSelected:YES];
        [btnAnswer1 setBackgroundImage:[UIImage imageNamed:@"checkbox_unchecked.png"] forState: UIControlStateNormal];
        [btnAnswer1 setSelected:NO];
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...