0

我在模拟器(5.1 和 6.0)和我的设备(运行 iOS6.0 的 iPad2)上看到我的 iPad 应用程序的奇怪行为。无论应用程序从哪个方向开始,touchesBegan仅在区域 (0,0) - (767,767) 中的新触摸时触发 - 在纵向模式下,屏幕底部不响应,在右侧横向。但是,touchesMovedtouchesEnded整个显示器上工作 - 如果我触摸并拖动到“损坏”区域,则会收到触摸释放事件。

我进一步指出,虽然在 iOS 6模拟器上我的应用程序看起来不错,即使它不能正常工作,但在 iOS 5.1 模拟器上,最初的渲染也有点混乱: 最初从横向开始 最初以纵向开始

整个显示应该是灰色的,并且右下角带有滑块的框。再一次,768 似乎是这里的神奇值。旋转几次可以解决此渲染问题,但不能解决输入问题...以纵向模式开始并旋转 180 度,现在看起来正确,但顶部停止响应,而不是底部。

这里使用了一个 3rd-partly 库,所以我的主要问题是什么可能导致这种问题,我应该寻找什么?我也很好奇为什么两个模拟器给出不同的结果

4

1 回答 1

0

如果您是touchesBegantouchesMoved,并且touchesEnded所有人都在您的 中寻找一个位置self.view,那么您可能不在正确的框架区域中以接收触摸。我刚刚遇到了类似的问题,我使用以下方法明确更改了框架的大小:

self.view.frame = CGRectMake(0,0,1024,1536);

因为我的游戏有两个屏幕高。重新调整框架大小后,touchesBegan工作正常。希望这会有所帮助!

于 2012-12-10T21:35:56.833 回答