iPhone 5/SE 显示白色状态栏,iPhone 6/7 显示黑色状态栏

Posted

技术标签:

【中文标题】iPhone 5/SE 显示白色状态栏,iPhone 6/7 显示黑色状态栏【英文标题】:iPhone 5/SE show white statusbar, iPhone 6/7 show black statusbar 【发布时间】:2018-02-25 10:17:26 【问题描述】:

我之前使用的是[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];,它运行良好,但在 ios 9.0 中已弃用。

关注这个:UIApplication.sharedApplication().setStatusBarStyle() deprecated in iOS 9

在“部署信息”下的项目设置中,我选择了“灯光”作为“状态栏样式”。 检查我的 Info.plist 文件,我还将“基于控制器的状态栏外观”设置为 NO。

现在“小型”iPhone 5S/SE 将正确显示白色状态栏,但 iPhone 6(+)/7(+) 将显示黑色状态栏。

我该如何解决这个问题?

[已解决]

其实找到这个后:Status Bar showing black text, only on iPhone 6 iOS 8 simulator

我能够解决它。我不得不为不工作的 iphone 型号放置启动图像,或者我现在所做的,使用启动故事板。现在一切都是白色的状态栏。

【问题讨论】:

【参考方案1】:

我认为您必须继续您的项目常规设置并设置状态栏样式灯,然后转到 info Info.plist 文件并将“基于控制器的状态栏外观”设置为 NO。如果它不起作用,那么您必须像这样在 ViewControllers 中创建 UIStatusbar 的对象。

override var preferredStatusBarStyle: UIStatusBarStyle 
        return .lightContent
    

在视图中调用preferredStatusBarStyle 确实加载了。

【讨论】:

【参考方案2】:

对于 Swift。

override var preferredStatusBarStyle: UIStatusBarStyle 
  return .lightContent

对于目标 c

- (UIStatusBarStyle)preferredStatusBarStyle

    return UIStatusBarStyleLightContent;

使用 Xcode

1.转到项目 ==> 目标

2.将状态栏样式设置为Light

3.在Info.plist中将View controller-based status bar appearance equal设置为NO

【讨论】:

【参考方案3】:

其实,在找到这个之后: Status Bar showing black text, only on iPhone 6 iOS 8 simulator

我能够解决它。我不得不为不工作的 iphone 型号放置启动图像,或者我现在所做的,使用启动故事板。现在一切都是白色的状态栏。

【讨论】:

以上是关于iPhone 5/SE 显示白色状态栏,iPhone 6/7 显示黑色状态栏的主要内容,如果未能解决你的问题,请参考以下文章

Cordova iPhone X 状态栏添加白色空栏

表格 iPhone 在顶部更改颜色

少数 iOS 设备上的状态栏显示为白色

即使设置为亮,状态栏也保持黑色

如何在 Swift 中使 iPhone 状态栏透明?

如何更改 iPhone 应用程序中状态栏的颜色? [复制]