【问题标题】:How Can I Get Touch Events in an iPhone App's Hidden Status Bar's Area?如何在 iPhone 应用程序隐藏状态栏区域中获取触摸事件?
【发布时间】:2008-09-28 16:04:06
【问题描述】:

我有一个隐藏状态栏的 iPhone 应用。但是,当我点击状态栏区域时,我的主视图没有收到任何触摸事件。我可以做些什么来解决这个问题吗?

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

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

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


更新:事实证明,这个问题只在 iPhone 模拟器上表现出来。当应用在真实的 iPhone 上运行时,触摸无处不在。

我仍然很想知道是否有办法让它在模拟器上运行,但这没什么大不了的。

【问题讨论】:

    标签: iphone


    【解决方案1】:

    找到我自己的答案(各种):

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

    我仍然很想知道是否有办法让它在模拟器上运行。

    【讨论】:

      【解决方案2】:

      我没有遇到过这个问题,但话又说回来,我没有使用 OpenGL 视图。当您以横向模式启动时,您是否设置了相应 ViewController 的 StatusBarHidden 属性?

      【讨论】:

      • 我的 info.plist 的 UIStatusBarHidden 设置为 true,并且在我的应用程序委托的 applicationDidFinishLaunching 方法中我有“application.statusBarHidden = YES;”
      【解决方案3】:

      这是模拟器中的一个错误。它在 iPhone 上运行良好。 检查http://gtekna.com/?p=140

      【讨论】:

        猜你喜欢
        • 2011-07-25
        • 2011-05-14
        • 2011-02-23
        • 2013-10-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-22
        • 2014-08-05
        • 1970-01-01
        相关资源
        最近更新 更多