2011-09-01 3 views
0

두 개의 UIButton이 있습니다. 확인란처럼 작동합니다 (두 단추는 한 번에 선택할 수 있음). 하지만 버튼 하나만 선택할 수 있습니다 (라디오 버튼과 같은). 내가 어떻게 해? 체크 박스 버튼 기능을 구현하는 방법입니다. 나는 보통 라디오 버튼을 구현라디오 버튼 동작을 구현하는 방법은 무엇입니까?

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]; 
    } 
+1

'UISegmentedControl'을 사용하는 것이 더 좋을까요? – kpower

+0

이 블로그를 읽으십시오 .... http://www.developers-life.com/radio-buttons-in-iphone-application.html 그것은 당신을 도울지도 모른다 ... – PJR

답변

1

난 그냥 주어진 수정 된 코드로 시도, 확인되지 않은 있지만.

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]; 
    } 
2

방법은 다음과 같습니다

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

    //do something with 'which' 

} 
관련 문제