状态栏未显示在iPhone 4S上

时间:2016-02-29 15:01:33

标签: ios objective-c statusbar

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

答案 0 :(得分:1)

你试过这个吗?

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