2013-01-22 68 views
0

在IB其他按鈕創建9個按鍵(自定義)以及選擇的國家配置:選擇(button1.png)禁用(button1_disabled.png).....(button9_disabled。 PNG)變化圖像時,我按iPhone

這個技巧,如果只有當選擇按鈕和未選擇按鈕

- (IBAction)onButtonsTapped:(UIButton*)sender { 
    [[sender setSelected:![sender isSelected]]; 
    [priviousSelectedBtn setSelected:NO]; 
} 

,但我想釋放:

當我按下按鈕1(動作)改變按鈕1的圖片( setSelected:YES)

我按下按鈕2(動作)更改按鈕2上的圖片(setSelected:YES)並更改圖片上的數字1(setSelected:NO)

我按下按鈕9(動作)更改圖片上的按鈕9(的setSelected:YES),並改變在按鈕2的圖像(的setSelected:否)

+0

你嘗試過什麼嗎? – Exploring

回答

0

可以創建9個網點爲每個按鈕和循環通過它們來檢查和取消選擇。 (代碼未經過編譯器檢查,您可能會有所瞭解)

或者,您可以存儲previousSelectedButton的插座。

@property(strong)id previousSelectedButton; 

- (IBAction)onButtonsTapped:(UIButton*)sender { 
    [sender setSelected]; 
    [previousSelectedButton setSelected:NO]; 

    if(previousSelectedButton==nil || previousSelectedButton!=sender){ 
     previousSelectedButton=sender; 
    } 

} 
+0

是的,這正是我想要的!謝謝! – user1996717

0

試試下面的代碼

for (int tag = 1; tag <= 9; tag++)//set your tag value as you wish max is 9 as you have mentioned there are 9 buttons 
{ 
    UIButton *btn = (UIButton*)[self.view viewWithTag:tag]; 

    if (btn.tag != sender.tag) 
    { 
     [btn setSelected:NO]; 
    } 

} 

希望這可以幫助你。不要重複使用這些標籤來查看這些按鈕的超級視圖。併爲每個按鈕製作一系列獨特的標籤值。