2009-11-12 63 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