iPhone 4 秒后状态栏未显示

Status Bar not showing on iPhone 4S

我将状态栏设置为 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

你试过吗?

在您的 Info.plist 中将 "View controller-based status bar appearance" (UIViewControllerBasedStatusBarAppearance) 设置为 YES。 (YES 是默认值,因此您也可以将此值保留在 plist 之外。)