【问题标题】:Xcode 4.5.1 iOS5/5.1 IBAction not working. Fine in iOS6Xcode 4.5.1 iOS5/5.1 IBAction 不工作。在iOS6中很好
【发布时间】:2012-12-01 07:40:23
【问题描述】:

我在 iOS5/5.1 中测试我的应用时遇到了一点问题。我按下按钮的 IBAction 根本没有被调用。我在某处读到可能是因为手势识别器。我有这段代码,当用户点击屏幕上的任意位置时,它会关闭键盘,我认为这可能是罪魁祸首。我在另一个屏幕上也有类似的代码,但我什至无法查看它是否有类似的错误。

UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[tapRecognizer setDelegate:(id)self];
[tapRecognizer setNumberOfTapsRequired:1];
[self.view addGestureRecognizer:tapRecognizer];

这里是函数。

- (void)handleSingleTap:(UITapGestureRecognizer *)recognizer
{
    [self.searchBar resignFirstResponder];
}

如何在不失去通过点击关闭键盘的能力的情况下防止此故障发生?

问候, 迈克。

【问题讨论】:

  • 您是否重复使用现有的识别器,因为它存在错误?
  • 不,我不这么认为。我为这个功能明确做了这个,没有使用任何其他手势识别器。

标签: iphone objective-c ios


【解决方案1】:

手势识别器是否识别了点击并因此不将其传递给按钮,该按钮是手势识别器所附加的视图的子视图?调用 handleSingleTap 后,您可以尝试删除手势识别器。

【讨论】:

  • 很好的修复。一切都完成后,我使用了[self.view removeGestureRecognizer:recognizer];,并且我只在 didBeginEditing 委托方法中创建了手势。
  • 非常感谢您的打勾,并祝贺您克服了这些该死的计算机给我们带来的另一个障碍!
  • 你可以使用-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch。这是 ios 给出的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多