2014-01-17 32 views
0

我試圖做一個應用程序,用戶有4 buttons我們說labeled 1到4.如果用戶點擊button-1然後發生了一些事情(我知道如何做到這一點)。但是,讓我們說,如果用戶點擊按鈕1,然後點擊按鈕2,我想要發生新的事情。如果有,我會非常感謝幫助。將不同的UIButton水龍頭結合在一起

+0

可以詳細說明你想做什麼..或者在其中放置一些代碼 –

+0

你可以將所有按鈕的點擊動作分配給一個IBAction,只需通過爲每個按鈕分配不同的標籤來區分點擊。 – hpp

+0

或者你只是想用不同的按鈕執行相同的操作,然後你可以設置按鈕標籤並將其檢入你的方法 –

回答

0

爲此,您可以使用[btn1 isSelected]方法即。您可以檢查是否選擇了btn1,然後按btn 2,然後執行所需的操作。 您只需選擇並取消選中按鈕,然後檢查其他按鈕操作的狀態。

- (IBAction)btn1Action:(id)sender { 
     UIButton *btn1 = (UIButton *)sender; 

     if ([btn1 isSelected]) { 
     [btn1 setSelected:NO]; 
     } 
     else{ 
     [btn1 setSelected:NO]; 
     } 
     } 

- (IBAction)btn2Action:(id)sender { 

// Button 1 outlet is myBtn1 (Suppose) 
     UIButton *btn1 = (UIButton *)sender; 

     if ([myBtn1 isSelected]) { 
     // Pressed after button 1 
     } 
     else{ 
     // Pressed after button 2 
     } 
     } 
+0

好吧我想現在我明白了,但如果我想檢查是否按鈕1選擇按鈕2,我會怎麼寫它。我有點困惑,我會怎麼寫。 – user2942636

+0

這意味着你在同一時間點擊兩個按鈕? – Ashutosh

+0

哦,不,這意味着我點擊按鈕1,然後按鈕2之後,但不是在同一時間。 – user2942636

0

下面分享的代碼片段讓您瞭解如何觸發多個按鈕單擊組合的事件。 在這種情況下,我只使用了2的按鈕組合。一旦事件結束,我將禁用所選按鈕。

-(IBAction)clickButton:(UIButton *)sender 
{ 

switch (sender.tag) { 
    case 0: 
    { 
     if(_button2.isSelected) 
     { 
      //do task for combination of 2,1 

      _button2.selected=NO; 
      _button1.selected=NO; 
     } 

     if (_button3.isSelected) 
     { 
      //do task for combination of 3,1 

      _button3.selected=NO; 
      _button1.selected=NO; 
     } 

     if(_button4.isSelected) 
     { 
      //do task for combination of 4,1 

      _button4.selected=NO; 
      _button1.selected=NO; 
     } 

     else 
     { 
      //do task for button1 alone 

      _button1.selected=NO; 

     } 

    } 
    break; 
    case 1: 
    { 
     if(_button1.isSelected) 
     { 
      //do task for combination of 1,2 

      _button1.selected=NO; 
      _button2.selected=NO; 
     } 

     if (_button3.isSelected) 
     { 
      //do task for combination of 3,2 

      _button3.selected=NO; 
      _button2.selected=NO; 
     } 

     if (_button4.isSelected) 
     { 
      //do task for combination of 4,2 

      _button4.selected=NO; 
      _button2.selected=NO; 
     } 

     else 
     { 
      //do task for button2 alone 

      _button2.selected=NO; 

     } 
    } 
    case 2: 
    { 
     if(_button1.isSelected) 
     { 
      //do task for combination of 1,3 

      _button1.selected=NO; 
      _button3.selected=NO; 
     } 

     if (_button2.isSelected) 
     { 
      //do task for combination of 2,3 

      _button2.selected=NO; 
      _button3.selected=NO; 
     } 

     if (_button4.isSelected) 
     { 
      //do task for combination of 4,3 

      _button4.selected=NO; 
      _button3.selected=NO; 
     } 

     else 
     { 
      //do task for button3 alone 

      _button3.selected=NO; 

     } 

    } 
    case 3: 
    { 
     if(_button1.isSelected) 
     { 
      //do task for combination of 1,4 

      _button1.selected=NO; 
      _button4.selected=NO; 
     } 

     if (_button2.isSelected) 
     { 
      //do task for combination of 2,4 

      _button2.selected=NO; 
      _button4.selected=NO; 
     } 

     if (_button3.isSelected) 
     { 
      //do task for combination of 3,4 

      _button3.selected=NO; 
      _button4.selected=NO; 
     } 

     else 
     { 
      //do task for button4 alone 

      _button4.selected=NO; 

     } 
    } 
    case 4: 
    { 
     _button1.selected=NO; 
     _button2.selected=NO; 
     _button3.selected=NO; 
     _button4.selected=NO; 
    } 

    default: 
    break; 
    } 

} 

希望它有助於!