2009-11-12 23 views
1

如何在單個UIButton中添加多個動作?生活例如,如何將多個動作添加到UIButton

[btn addTarget:self action:@selector(method1) forControlEvents:UIControlEventTouchUpInside]; 
[btn addTarget:self action:@selector(method2) forControlEvents:UIControlEventTouchDown]; 

感謝

+0

您粘貼的代碼有問題嗎?這是怎麼回事? – marcc 2009-11-12 03:26:05

+0

method2不會調用。 – domlao 2009-11-12 03:34:07

+0

我的一些問題,我沒有接受答案,因爲他們中的一些是正確的答案,所以我只是upvote他們。 – domlao 2009-11-12 03:37:18

回答

8

您粘貼應該工作的代碼:

[btn addTarget:self action:@selector(method1) forControlEvents:UIControlEventTouchUpInside]; 
[btn addTarget:self action:@selector(method2) forControlEvents:UIControlEventTouchDown]; 

我做這一切的時候。通常用於touchDown和touchUp。 method2沒有被調用的事實是一個錯誤。你在method2的開頭有一個NSLog()嗎?

+0

是的它的工作,我只是忘了IBAction。謝謝 – domlao 2009-11-12 05:39:02

+1

這實在不是一個可擴展的解決方案。 – coneybeare 2011-02-17 15:11:51

2
[btn addTarget:self action:@selector(method1and2) forControlEvents:UIControlEventTouchUpInside]; 

… 

- (void)method1and2 { 
    [self method1]; 
    [self method2]; 
} 
+0

但他有兩個不同的事件?這也是我第一次想到的,但它不適用於這個問題。 – marcc 2009-11-12 04:16:43

+0

你是對的。我應該將代碼向右滾動。 – coneybeare 2009-11-12 04:36:59

相關問題