在我的 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
无条件地实现此方法。还要在签名中输入sender
为id
。如果您仍然看到线路,请仔细检查连接。
【参考方案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 混合应用程序中发生了两次