在我的 iOS 中单击按钮时,事件触发了两次。应用程序

Posted

技术标签:

【中文标题】在我的 iOS 中单击按钮时,事件触发了两次。应用程序【英文标题】:Event fired two times when clicked to button in my iOS. app 【发布时间】:2012-02-17 09:06:23 【问题描述】:

我做了一个简单的ios。 UI 包含按钮的应用程序。例如,我有九个按钮,每个按钮代表一个与数字键盘相同的数字。在我复制了八次按钮之后,我按照以下方式制作了这个按钮,将它放到情节提要中并使用 ctrl 拖动功能制作了 Touch Up Inside 事件。

问题是当我按下按钮时,事件有时会出现两次。它随机发生。我在 NSLog 行中放了一个断点,我根本没有看到有问题的东西。

- (IBAction)digitPressed:(UIButton *)sender 
    if ([lastPressed isEqualToString:[sender currentTitle]]) 
        NSLog(@"Douple pressed digit"); // break it here
    

    // store to lastPressed
    lastPressed = [sender currentTitle];

【问题讨论】:

如果按钮也被按下两次,此代码将打印到日志中。尝试仅使用单个NSLog 无条件地实现此方法。还要在签名中输入senderid。如果您仍然看到线路,请仔细检查连接。 【参考方案1】:

如果您在单击一次时多次出现 digitPressed,我猜您复制按钮时出了点问题,因此请检查情节提要中的接线。

正如文斯所说,使用 id 是一个很好的做法,并不是因为这个方法现在由按钮触发,所以它们应该总是由按钮触发。

每次都记录而不是双倍记录时更容易调试。

NSLog(@"Button pressed: %@", [sender currentTitle]);

【讨论】:

我不知道为什么,有时我得到了双重事件,有点延迟 2012-02-17 18:22:58.190 Calc[318:fe03] 按下按钮:9 2012-02-17 18 :22:58.263 Calc[318:fe03] 按下按钮:9

以上是关于在我的 iOS 中单击按钮时,事件触发了两次。应用程序的主要内容,如果未能解决你的问题,请参考以下文章

onclick 事件在 iPhone 混合应用程序中发生了两次

移动事件时未触发按钮单击

由于文本框失去焦点,按钮需要单击两次

选中的单选按钮已更改事件触发两次

Reactjs-onClick 事件在我第一次单击按钮时未触发

为 kendo ui Combobox 触发了两次更改事件