Iphone iOS 7默认图像在多任务视图中由状态栏重叠

Iphone iOS 7默认图像在多任务视图中由状态栏重叠,iphone,objective-c,cocoa-touch,ios6,ios7,Iphone,Objective C,Cocoa Touch,Ios6,Ios7,我的应用程序是根据iOS 6 SDK编译的,还没有时间升级到iOS 7 SDK。所以我注意到默认图像与状态栏重叠。这似乎只发生在多任务视图中,而不是出于某种原因从后台恢复我的应用程序时 请参见此图: 我想很多人根本不会注意到这一点 但是,据我所知,当应用程序进入后台时,您可能会禁用状态栏。 为此,只需在委托中使用此方法: - (void)applicationWillResignActive:(UIApplication *)application { //code to disable

我的应用程序是根据iOS 6 SDK编译的,还没有时间升级到iOS 7 SDK。所以我注意到默认图像与状态栏重叠。这似乎只发生在多任务视图中,而不是出于某种原因从后台恢复我的应用程序时

请参见此图:

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

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

- (void)applicationWillResignActive:(UIApplication *)application {
    //code to disable statusbar
}
在ApplicationIDBecMeactive方法中,可以再次启用状态栏

- (void)applicationDidBecomeActive:(UIApplication *)application {
//code to enable the statusbar
}
此外,您还可以查看前面的问题:


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

edgesForExtendedLayout为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