2016-02-29 73 views
0

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

所以只有当我在4S上测试状态栏文本显示为黑色。这是一个已知的错误?有没有任何工作可以让4S拥有正确的状态栏风格?

这就是为什么我在AppDelegate中完成

:在每个视图控制器我的应用程序内

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

    application.statusBarStyle = UIStatusBarStyleLightContent; 
} 

我把这个在viewDidLoad中添加此方法:

- (void) viewDidLoad { 
    [self setNeedsStatusBarAppearanceUpdate]; 
} 

- (UIStatusBarStyle)preferredStatusBarStyle 
{ 
    return UIStatusBarStyleLightContent; 
} 

而且,在我的info.plist我有这个:

Status bar style = UIStatusBarStyleLightContent 
+0

你使用autolayout还是多个故事板? –

+0

我正在使用自动布局,但只有一个故事板..并且我还设置了每个视图控制器在界面生成器中有作为状态栏样式的灯光内容 –

回答

1

你试过了吗?

在Info.plist中将“查看基于控制器的状态栏外观”(UIViewControllerBasedStatusBarAppearance)设置为YES。 (YES是默认值,所以你也可以将这个值从plist中删除。)

+0

您的救星。我将它设置为NO并且状态栏显示现在开始..谢谢! –