【问题标题】:Event fired two times when clicked to button in my iOS. app在我的 iOS 中单击按钮时,事件触发了两次。应用程序
【发布时间】: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。如果您仍然看到线路,请仔细检查连接。

标签: ios events


【解决方案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
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-27
  • 1970-01-01
  • 2011-01-08
相关资源
最近更新 更多