1

我的应用程序是针对 iOS 6 SDK 编译的(还没有时间升级到 iOS 7 SDK)。所以我只是注意到Default图像与状态栏重叠。这似乎发生在“多任务”视图中,但由于某种原因从后台恢复我的应用程序时不会发生。

看这张图片:

在此处输入图像描述

4

2 回答 2

0

edgeForExtendedLayout 为 iOS 7 提供了技巧。但是,如果您跨 iOS 7 SDK 构建应用程序并将其部署到 iOS 6 中,导航栏将显示为半透明,并且视图位于其下方。因此,要为 iOS 7 和 iOS 6 修复它,请执行以下操作:

  self.navigationController.navigationBar.barStyle = UIBarStyleBlackOpaque;
  if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
       self.edgesForExtendedLayout = UIRectEdgeNone;   // iOS 7
于 2013-10-08T08:09:25.290 回答
0

我想很多人根本不会注意到这一点。

但是,据我所知,当应用程序进入后台时,您可能会禁用状态栏。为此,只需在委托中使用此方法:

- (void)applicationWillResignActive:(UIApplication *)application {
    //code to disable statusbar
}

在该applicationDidBecomeActive方法中,您可以再次启用状态栏。

- (void)applicationDidBecomeActive:(UIApplication *)application {
//code to enable the statusbar
}

此外,您可以看看这个先前提出的问题:状态栏不会消失

如果您有任何问题,请随时提出!

于 2013-09-19T20:24:46.233 回答