2011-03-26 43 views
1

我希望我的一個按鈕在不同的水龍頭上行動不同。因爲每次發生特定動作時都使用相同的按鈕。相同的按鈕應該執行多個任務

有沒有辦法做到這一點?

感謝,

+0

祝點擊觸摸屏上的是什麼,我想你。 – 2011-03-26 22:51:03

+1

不同的水龍頭意味着什麼?單人,雙人,三人龍頭?或者更喜歡應用商店中的購買圖標? – 2011-03-26 22:52:03

回答

1

如果你希望你的按鈕行動不同,您將創建不同的方法做不同的動作。然後,無論何時您想要更改按鈕行爲,都應該設置按鈕以處理所需的操作。

所以對於第一個動作:

[button addTarget:self action:@selector(method1:) forControlEvents:UIControlEventTouchUpInside]; 

- (void) method1 
{ 
//set button to handle method 2 
[button addTarget:self action:@selector(method2:) forControlEvents:UIControlEventTouchUpInside]; 
} 

- (void) method 2 
{ 

} 
2

添加其他UIGestureRecognizer;) 單一的水龍頭是什麼樣的行動將被鏈接,但您可以添加其他類型的像雙擊,輕掃等手勢

0

按鈕只是在點擊時調用視圖控制器中的方法。從那裏你可以做這樣的事情:

if (internalState == FOO) { 
    [self doA]; 
} else { 
    [self doB]; 
} 
2

你可以使用button的標籤屬性;所以在你的IBAction方法中。

-(void)buttonClicked:(id)sender{ 
    UIButton *button = (UIButton *)sender; 
    if (button.tag == 1) { 
     // perform your required functionality 
     button.tag = 2; 
    } 
    else if (button.tag == 2) { 
     // perform your required functionality 
     button.tag = 3; 
    } 
    else if (button.tag == 3) { 
     // perform your required functionality 
     button.tag = 1; 
    } 
} 

而且不要忘了最初的標籤值設置爲1

相關問題