动态更改状态栏文本颜色

时间:2014-08-06 22:24:13

标签: ios objective-c iphone statusbar ios7-statusbar

我知道我可以使用here所述的方法更改iPhone的状态栏文字颜色。

但是,我的应用程序有不同的主题,我需要相应地更新状态栏。

调用

[self setNeedsStatusBarAppearanceUpdate];

-(UIStatusBarStyle)preferredStatusBarStyle{ 
    return UIStatusBarStyleLightContent; 
}

显然不会起作用。但是,它必须是本地的,就像在特定的TabBar视图中一样。

2 个答案:

答案 0 :(得分:1)

首先,选择您的Project,然后在Genernal标签中,您会看到类似的内容。

enter image description here

然后将Status Bar Style设置为Light,就像图片一样。

其次,在Info.plist中将View controller-based status bar appearance equal设置为NO。如果找不到,只需添加一个新行并按上述步骤进行设置。

然后,运行您的应用程序,您将看到状态栏文本颜色为白色。 :)

答案 1 :(得分:0)

只为那些来这里获得头衔的人。 您可以设置一个标志并在状态栏文本颜色之间切换,如代码段中所示:

-(UIStatusBarStyle)preferredStatusBarStyle {

if (barStyleLight){

    return UIStatusBarStyleLightContent;
}
else {

    return UIStatusBarStyleDefault;
}

}

另请注意,只要我们调用preferredStatusBarStyle

,就会调用此[self setNeedsStatusBarAppearanceUpdate];方法

希望它有所帮助。