iPhone 4S 不显示状态栏

Posted

技术标签:

【中文标题】iPhone 4S 不显示状态栏【英文标题】:Status Bar not showing on iPhone 4S 【发布时间】:2016-06-12 16:22:30 【问题描述】:

我将状态栏设置为UIStatusBarStyleLightContent,而在所有其他设备(5、5S、6、6 Plus)中,状态栏以白色文本显示。我的应用程序的背景颜色是黑色,所以状态栏的背景是黑色的,这就是为什么我需要状态栏文本是白色的。

所以只有当我在 4S 上测试时,状态栏文本才会显示为黑色。这是一个已知的错误?有什么办法可以让 4S 拥有正确的状态栏样式?

这就是我这样做的原因

在 AppDelegate 中:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

    application.statusBarStyle = UIStatusBarStyleLightContent;

在我的应用程序的每个 ViewController 中,我将其放入 viewDidLoad 并添加此方法:

- (void) viewDidLoad 
    [self setNeedsStatusBarAppearanceUpdate];


- (UIStatusBarStyle)preferredStatusBarStyle

    return UIStatusBarStyleLightContent;

另外,在我的 info.plist 我有这个:

Status bar style = UIStatusBarStyleLightContent

【问题讨论】:

您使用的是自动布局还是多个情节提要? 我正在使用自动布局,但只有一个情节提要.. 我还将每个视图控制器设置为在界面构建器中将轻量内容作为状态栏样式 【参考方案1】:

你试过了吗?

在 Info.plist 中将“基于控制器的状态栏外观”(UIViewControllerBasedStatusBarAppearance) 设置为 YES。 (YES 是默认值,因此您也可以将此值保留在 plist 之外。)

【讨论】:

你的救命稻草。我将其设置为 NO,现在状态栏出现了。谢谢!

以上是关于iPhone 4S 不显示状态栏的主要内容,如果未能解决你的问题,请参考以下文章

iOS 14获取iPhone的状态栏高度方法

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

UISearchController 与状态栏重叠并且不填充 iPhone X

iPhone X 横向状态栏

显示模态视图时使 iPhone 状态栏消失?

如何显示最初从 plist iphone 中隐藏的状态栏