2013-04-09 3 views
0

버튼을 클릭 할 때 배경 이미지가 변경됩니다. 이것은 강조 표시된 상태로 머무를뿐입니다. 버튼을 클릭 한 후 녹색/빨간색 배경 이미지를 유지하고 싶습니다.버튼을 누를 때 배경 이미지 설정

어떻게 내 코드에서이 작업을 수행 할 수 있습니까? 죄송합니다 나는 신참 ...

- (void)setCorrectAndWrongAnswerBackgroundImagesForOptions 
{ 
int correctAns = [[currentQuestionDict objectForKey:kQuizAnswer] intValue]; 
int i; 
int count = [_optionsButtonsArray count]; 
for (i=0; i<count; i++) 
{ 
    UIButton* optionButton = [_optionsButtonsArray objectAtIndex:i]; 
    NSString* optionBgImageName = [NSString stringWithFormat:@"optionBg_default%d",(i+1)]; 
    NSString* optionBgRedImageName = [NSString stringWithFormat:@"optionBg_red%d",(i+1)]; 
    NSString* optionBgGreenImageName = [NSString stringWithFormat:@"optionBg_green%d",(i+1)]; 

    if (optionButton.tag == correctAns) 
    { 
     [optionButton setBackgroundImage:[UIImage imageNamed:[HAUtilities resourceNameForString:optionBgImageName]] forState:UIControlStateNormal]; 

     [optionButton setBackgroundImage:[UIImage imageNamed:[HAUtilities resourceNameForString:optionBgGreenImageName]] forState:UIControlStateHighlighted]; 


    } 
    else { 
     [optionButton setBackgroundImage:[UIImage imageNamed:[HAUtilities resourceNameForString:optionBgImageName]] forState:UIControlStateNormal]; 
     [optionButton setBackgroundImage:[UIImage imageNamed:[HAUtilities resourceNameForString:optionBgRedImageName]] forState:UIControlStateHighlighted]; 


    } 
} 

}

답변

0

당신은 optionButton 선택이 같은 뭔가를 할 수 optionButton 당신이 NO로 설정 될 때까지 유지 상태를 강조 할 것

dispatch_async(dispatch_get_main_queue(), ^{ 
    [sender setHighlighted:YES]; 
}); 
다시.

0

강조 표시된 상태를 변경하는 순간에 정상 상태의 색상을 변경하고 싶습니다. 다음과 같이

이 코드를 변경

: 버튼을 선택하여 스토리 보드에서

- (void)setCorrectAndWrongAnswerBackgroundImagesForOptions 
{ 
int correctAns = [[currentQuestionDict objectForKey:kQuizAnswer] intValue]; 
int i; 
int count = [_optionsButtonsArray count]; 
for (i=0; i<count; i++) 
{ 
    UIButton* optionButton = [_optionsButtonsArray objectAtIndex:i]; 
    NSString* optionBgImageName = [NSString stringWithFormat:@"optionBg_default%d",(i+1)]; 
    NSString* optionBgRedImageName = [NSString stringWithFormat:@"optionBg_red%d",(i+1)]; 
    NSString* optionBgGreenImageName = [NSString stringWithFormat:@"optionBg_green%d",(i+1)]; 

    if (optionButton.tag == correctAns) 
    { 
     [optionButton setBackgroundImage:[UIImage imageNamed:[HAUtilities resourceNameForString:optionBgGreenImageName]] forState:UIControlStateNormal]; 

    } 
    else { 

     [optionButton setBackgroundImage:[UIImage imageNamed:[HAUtilities resourceNameForString:optionBgRedImageName]] forState:UIControlStateNormal]; 

    } 
} 

} 
0

를 오른쪽 줄에 '강조'옵션이있는 드롭 다운 메뉴들이있다. 이 버튼을 클릭하고 다른 배경 이미지와 같이 버튼이 강조 표시 (선택) 될 때 원하는 속성을 설정하십시오.