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

5
我有一个iPhone应用程序,它隐藏了状态栏。然而,当我在状态栏区域轻触时,我的主视图不会收到任何触摸事件。是否有什么方法可以解决这个问题?
以下是我的应用程序设置的一些细节(如果有必要):
- 它是基于OpenGL的应用程序。 - 应用程序在横向模式下启动。但是,当我在“竖向”区域的“顶部”附近轻触时,触摸事件会丢失。(换句话说,当我将设备保持在横向方向时,左侧边缘不会收到触摸事件。) - 我的info.plist中设置了UIStatusBarHidden为true,在我的应用程序委托的applicationDidFinishLaunching方法中,我设置了“application.statusBarHidden = YES;” - 主视图的exclusiveTouch被设置为YES。 - 当我在屏幕的其他地方轻触时,视图的touchesBegan:withEvent方法会被调用。 - 在状态栏区域内,我的视图绘制得很好。
(请勿抱怨NDA。谢谢。)
更新:事实证明,这个问题只在iPhone模拟器上出现。当应用程序在实际的iPhone上运行时,触摸事件可以在任何地方检测到。
我仍然想知道是否有办法使它在模拟器上运行,但这不是什么大问题。
3个回答

5

我找到了自己的答案(或者说解决办法):

这种行为只会在iPhone模拟器中发生。当我在实际的iPhone上运行应用程序时,它可以正常工作。

如果有办法让模拟器上也能正常运行,我仍然很感兴趣。


1

1

我没有遇到这个问题,但是我也没有使用OpenGL视图。当您在横向模式下启动时,您是否设置了相应ViewController的StatusBarHidden属性?


我的 info.plist 文件中已将 UIStatusBarHidden 设置为 true,在我的应用程序委托的 applicationDidFinishLaunching 方法中,我有 "application.statusBarHidden = YES;"。 - Kristopher Johnson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接