2013-04-09 45 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

你可以做這樣的事情在選項按鈕選擇

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

這將使選項按鈕高亮顯示狀態保持,直到你把它設置爲NO再次。

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

在你的故事板時,選擇按鈕,在右側欄中的是「突出」的選項下拉菜單。點擊此按鈕並設置突出顯示(選中)時按鈕所需的屬性,如不同的背景圖像。