如何在iPhone应用程序的隐藏状态栏区域中获取触摸事件?

时间:2020-03-06 14:50:52  来源:igfitidea点击:

我有一个隐藏状态栏的iPhone应用程序。但是,当我在状态栏区域中点击时,我的主视图没有任何触摸事件。有什么我可以解决的吗?

以下是我的应用设置的一些详细信息(以防万一):

  • 这是一个基于OpenGL的应用程序。
  • 该应用程序以横向模式启动。但是,当我在人像模式区域的"顶部"附近点击时,触摸事件会丢失。 (换句话说,当我将设备保持在横向时,我没有在左边缘触摸事件。)
  • 我的info.plist的UIStatusBarHidden设置为true,在我的应用程序委托的applicationDidFinishLaunching方法中,我具有" application.statusBarHidden = YES;"。
  • 主视图的ExclusiveTouch设置为YES。
  • 当我点击屏幕上的其他任何位置时,都会调用视图的touchesBegan:withEvent方法。
  • 我的视图在状态栏区域内绘制良好。

(请不要抱怨NDA。谢谢。)

更新:事实证明,此问题仅在iPhone Simulator上显现出来。当应用程序在实际的iPhone上运行时,到处都会检测到触摸。

我仍然想知道是否有一种方法可以使其在Simulator上运行,但这没什么大不了的。

解决方案

我没有这个问题,但是再说一次,我没有使用OpenGL视图。在横向模式下启动时,是否正在设置适当的ViewController的StatusBarHidden属性?

找到了我自己的答案(有点):

此行为仅在iPhone模拟器中发生。当我在实际的iPhone上运行该应用程序时,它运行良好。

我仍然想知道是否有一种方法可以使其在模拟器上正常工作。

这是模拟器中的错误。在iPhone上运行正常。
检查http://gtekna.com/?p=140