touchesBegan只在768x768像素矩形内发射

时间:2012-12-10 18:14:18

标签: ios touch ogre

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

我进一步注意到,在iOS 6 模拟器上,我的应用程序看起来正确,即使它无法正常工作,在iOS 5.1模拟器上渲染也是有点搞砸了: Initially starting in landscape Initially starting in portrait

整个显示屏应为灰色,右下角有滑块。再次,768似乎是这里的神奇价值。旋转几次修复了这个渲染问题但不是输入问题...以纵向模式开始并旋转180度现在看起来正确但顶部停止响应而不是底部。

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

1 个答案:

答案 0 :(得分:0)

如果您touchesBegantouchesMovedtouchesEnded所有人都在self.view内寻找位置,那么您可能不在正确的框架区域内要接受的接触。我只是遇到了类似的问题,我使用以下方法明确改变了框架的大小:

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

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