0

我有一个目标为 iOS 5.0 的应用程序。不幸的是,我不再有任何装有 iOS 5 的测试设备。

我希望能够使用 iOS 5.0 和 5.1 模拟器进行基本调试,但由于某种原因,我IBAction的 s 没有在这些模拟器上被调用。

更多信息:

  • Xcode 版本是 4.5.2

  • 所有模拟器都是最新的(没有可用的更新/下载)

  • 我们确实有使用 iOS 5 和 5.1 的客户,他们在点击按钮时没有任何问题(或者至少,我们没有收到他们的任何报告;)

  • 在 iPhone 6.0 模拟器上,一切都按预期工作(很确定所有IBActions都正确连接)

这些模拟器是不是非常有问题(这是一个已知问题)?其他人是否遇到过这个问题并知道解决方法?

4

3 回答 3

2

很可能是我看到的问题..

  • 可能是您没有IBAction在 .h 文件中定义您的方法。
  • 可能是您将两个连接IBAction在一起UIButton TouchUpInside
  • 您还尝试从simileme clear xcode 卸载应用程序,而不是解决您的问题。
  • 重置你的模拟器包含。
  • 检查是否有任何更新,Xcode然后您尝试运行您的应用程序,然后您得到了解决方案。

我正在使用相同的配置,我没有像你这样的问题..

于 2012-12-29T05:26:46.627 回答
2

事实证明,a UITapGestureonself.view正在捕获触摸而不是转发到子视图......由于某种原因,这种行为在 iOS 6 和 iOS 5 模拟器中似乎有所不同......用户要小心......

于 2012-12-29T08:05:34.533 回答
0

使用 UIGestureRecognizerDelegate 避免gestureRecognizer 对 selectedView 的影响:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)recognizer shouldReceiveTouch:(UITouch *)touch {
    UIView *selectedView = self.view;

    CGPoint point = [touch locationInView:self.view.superview];
    if (CGRectContainsPoint(selectedView.frame, point)) {
        return NO;
    }
    else {
        return YES;
    }
}
于 2013-06-22T08:09:20.327 回答