【问题标题】:My app is not showing status bar in iPhone 6 and 6plus我的应用在 iPhone 6 和 6plus 中没有显示状态栏
【发布时间】:2016-04-12 14:22:58
【问题描述】:

我的应用仅在 iPhone6 和 6plus 中不显示状态栏。当我进入后台和前台时,状态栏似乎出现了。当视图出现时,必须做什么才能获得状态栏? 这是我的编码

AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
}

在 viewcontroller.m 中

-(void)viewWillAppear:(BOOL)animated
{
    [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
    [self setNeedsStatusBarAppearanceUpdate];
}
- (BOOL)preferedStatusBarHidden
{
    return NO;
}

在 Info.pList 中,我将基于视图控制器的状态栏外观设置为 NO 并且状态栏最初隐藏为 NO

【问题讨论】:

  • 确保您没有在 UIApplication 委托方法中隐藏状态栏。

标签: ios iphone


【解决方案1】:

尝试在您的Info.plist 中添加UIStatusBarHidden 和值NO

【讨论】:

  • 那如何在你的 ViewController 中设置呢?尝试将此方法添加到您的 ViewController: - (BOOL)prefersStatusBarHidden { return NO; }
【解决方案2】:

不看你的项目很难确定,但有四个可能的问题浮现在脑海。

检查 plist 并确保:“查看基于控制器的状态栏外观”未设置为“否”。如果没有列出(很可能),这也很好)。

还有另一个 plist 设置可能仅在加载时导致此问题。确保“状态栏最初是隐藏的”设置为“否”。

第三,确保Targets->General->Hide status bar上的“Hide during application launch”没有勾选。

最后,确保您在 viewDidLoad 中的某处有此代码:

- (BOOL)prefersStatusBarHidden
{
   return YES;
}

【讨论】:

  • 问题仍然存在,但状态栏出现在 iPhone 4s 和 5 中。
  • 如果不看一些代码,我很难说出来。
  • 我已经添加了代码。请让我知道问题发生在哪里。该项目是在以前版本的 Xcode 3.2 中创建的
  • 尝试删除 appDelegates 中的 2 行以及 VC 的 ViewWillAppear 方法中的 2 行,并将其添加到视图控制器类中:-(UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; }
【解决方案3】:

这不是问题。横向隐藏状态栏是IOS8的一个特性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 2018-02-25
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 2014-11-06
    • 2016-06-12
    相关资源
    最近更新 更多