关于触摸:仅适用于iPad横向的应用无法响应屏幕底部附近的触摸

iPad landscape-only app not responding to touches near the bottom of the screen

我是一位经验丰富的开发人员,但对iOS来说还比较陌生。

我在使用iPad App时遇到了一些麻烦,因为我的视图无法响应屏幕底部三分之一的按钮触摸。触摸其他按钮可以正常工作,因此我知道视图加载时已正确挂起了视图(我已经在IB中创建了它们。)在模拟器和设备上都得到相同的行为。

这是仅横向应用程序,我正在使用[NSBundle LoadNibNamed:]加载视图。这是该应用程序中唯一不重要的部分,我想我已经跳过了所有适当的步骤:

  • 在我的.plist中添加了"初始界面方向"行
  • 在IB中以景观方向设计我的视图
  • 向我的顶级视图添加了shouldAutoRotateToInterfaceOrientation,该视图仅对横向显示返回YES

与景观方向可能没有关系,但是我想我应该提一下它,因为这是我发现要建造的唯一点东西,而且我从板上也看到其他人也发现了这个问题。

有人有什么想法吗?

谢谢。


您自动调整尺寸的蒙版很可能没有正确设置。这意味着视图的边界不会更改以匹配窗口。仅在视图的超级视图的范围内检测到触摸,因此,如果您的按钮位于其超级视图的范围之外,则不会获得任何触摸。

要进行快速测试,请尝试设置视图的背景色,然后查看视图是否正确扩展到屏幕底部。


如果您的应用程序在应用程序屏幕上无法响应触摸,只需更改方向即可。我大多数时候都将其保持为横向模式,他们停止响应,而当我旋转ipad时,他们立即开始响应。


原来,我的视图的边界设置为全屏,但框架没有设置。通过显式设置框架,我可以使它正常工作。