【问题标题】:Weird glitch with disappearing status bar / nav bar状态栏/导航栏消失的奇怪故障
【发布时间】:2011-12-30 03:26:42
【问题描述】:

我有一个类似于照片应用程序的应用程序,当显示图片时,它会占据整个 320x480 的屏幕。也像照片应用一样,当用户点击屏幕时,状态栏/导航栏会淡出以提供额外的空间。一切正常,除了我注意到一个奇怪的故障。如果我按下主页按钮退出应用程序(当状态栏/导航栏不可见时),然后我按下应用程序徽标重新进入应用程序,当应用程序重新打开时,应用程序框架被搞砸了,并且持有的视图我的图片被向下推了 20 像素(似乎是为状态栏让路)。就像我说的,当我在应用程序的视图之间切换时一切正常,但是当我按下主页按钮退出时,它就搞砸了。以前有人遇到过这个问题吗?

【问题讨论】:

  • 按“主页按钮重新进入应用程序”是什么意思?你的意思是你关闭它,然后点击图标重新进入它或使用多任务栏重新进入?一个可能的解决方案,总是隐藏菜单栏。
  • @charlie 是的,这就是我重新编辑的意思。不知道你说的总是隐藏菜单栏是什么意思,只有当它在这个特定的视图中消失时才需要隐藏。
  • 对,但是如果你通过info.plist隐藏了菜单栏,即使发生了淡入淡出,那么错误可能会得到解决。
  • @Charlie 不确定我是否理解。如果我通过info.plist隐藏状态栏,即我手动进去编辑,整个app的状态栏会不会消失?
  • 是的,没错。我的意思是,如果整个应用程序都不需要状态栏,为什么不把它全部隐藏起来呢?

标签: iphone objective-c ios cocoa-touch


【解决方案1】:

也许你必须在这个 App 委托方法中重新设置你的接口代码:

  • (void)applicationDidBecomeActive:(UIApplication )application { / 重新启动应用程序处于非活动状态时暂停(或尚未启动)的所有任务。如果应用程序之前在后台,可选择刷新用户界面。 */ }

【讨论】:

  • 我实际上正在使用这种方法,并且我尝试做很多事情来将其重置为无济于事的方式。我尝试过重置 WantsFullScreen,尝试将导航栏和状态栏重新设置为半透明,我已经做了各种尝试和操作视图框架并“重置”它。
  • 当您的应用程序进入后台并变为“非活动”时,系统可以从内存中释放所有保留的子视图(插座等),这是调查的关键点,因为您的应用程序在您的应用程序正常运行时正在其视图之间进行交互(子视图完全加载到内存中)。
【解决方案2】:

在 viewDidAppear 方法中尝试以下操作:

self.navigationController.navigationBarHidden = TRUE;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 1970-01-01
    相关资源
    最近更新 更多