的UIButton touchUpInside动作射击多次,每次点击

问题描述:

我有三个按钮在Interface Builder成立,分别通过touchUpInside绑btnSelection:的UIButton touchUpInside动作射击多次,每次点击

- (IBAction)btnSelection:(id)sender { 
    NSLog(@"tag: %i", [sender tag]); 
} 

在我的控制台,第一次点击正确注册(后一秒钟左右延迟,这看起来有点奇怪),但任何后续触摸任何3个按钮都会导致首先记录前一个标记值,然后记录新标记。

触摸#1(BTN瓦特/标签= 0):

标签:0

触摸#2(BTN瓦特/标签= 1):

标签:0 标签:1

触摸#3(BTN瓦特/标签= 2):

标签:1 标签:2

等。

我想不通为什么两个事件每次被记录(与第一个是之前的触摸按钮。

一个可能的原因是,如果你迷上了您的按钮的事件,然后复制那个按钮,再次迷上了的情况下,你可能会两次打电话给你btnSelection功能。

在Interface Builder,请检查您只有一个回调btnSelection

+0

感谢您的回复。我绝对只有一个回调btnSelection每个按钮。这些按钮是不同的,并且是单独创建的,所以它们不应该(并且所有账户都不)没有任何余留的回调互相重复。 – 2009-08-06 21:37:53

将断点在你的回调,看看这个电话来自于你所描述的工作在1000年的应用程序中有100多个 - 你以某种方式称你的例程为2x。

(无意冒犯,但它是你的代码。:)

+2

就我而言,这是我的代码,每当我设置属性值时,我都会联系到事件。 Upvoted。 – Irwin 2014-10-02 16:10:23

我知道这是不包括在这个问题,但在你可能有一个自定义的UITableViewCell一个UIButton的情况下,确保不惹选择设置您的单元格以供重用时的设置。 (如果单元格被设置为重用,可以使单元格中的所有子视图变得怪异并使事情堆积如山,或者使按钮等事物在真正重新加载单元格时发生切换)首次定制单元格格式时混淆这些类型的东西或者在您的单元格生成后

这很可能与您在Interface Builder中犯的错误有关。我曾经看到过这种情况,例如点击视图中的按钮,但下一个视图有一些问题,如复制和粘贴某些IB对象时发生断开的IBOutlet连接。突出显示该项目将导致3个IBAction调用,然后死亡。