Ios 动态更改状态栏文本颜色

Ios 动态更改状态栏文本颜色,ios,objective-c,iphone,statusbar,ios7-statusbar,Ios,Objective C,Iphone,Statusbar,Ios7 Statusbar,我知道我可以使用上面描述的方法更改iPhone的状态栏文本颜色 但是,我的应用程序有不同的主题,我需要相应地更新状态栏 召唤 [self setNeedsStatusBarAppearanceUpdate]; 及 这显然行不通。但是,它必须是本地的,因为它只适用于特定的选项卡栏视图。首先,选择您的项目,然后在常规选项卡中,您将看到类似的内容 然后将状态栏样式设置为灯光,如图所示 其次,在Info.plist中将基于控制器的状态栏外观设置为等于。如果找不到,只需添加一个新行,并按照上面的步骤进

我知道我可以使用上面描述的方法更改iPhone的状态栏文本颜色

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

召唤

[self setNeedsStatusBarAppearanceUpdate];


这显然行不通。但是,它必须是本地的,因为它只适用于特定的选项卡栏视图。

首先,选择您的
项目
,然后在
常规
选项卡中,您将看到类似的内容

然后将
状态栏样式
设置为
灯光
,如图所示

其次,在Info.plist中将基于控制器的状态栏外观设置为等于。如果找不到,只需添加一个新行,并按照上面的步骤进行设置


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

只为那些来这里争夺冠军的人准备。 您可以设置标志并在状态栏文本颜色之间切换,如给定的代码段中所示:

-(UIStatusBarStyle)preferredStatusBarStyle {

if (barStyleLight){

    return UIStatusBarStyleLightContent;
}
else {

    return UIStatusBarStyleDefault;
}
}

还要注意的是,每当我们调用:
[self-setNeedsStatusBarAppearanceUpdate]时,就会调用这个
preferredStatusBarStyle
方法


希望能有所帮助。

在什么情况下不起作用?你可以在主题改变时打电话…@Wain当然可以。对不起,已经太晚了。我没有直截了当地思考…对不起,图片链接,因为我的声誉不足以直接发布图片。
-(UIStatusBarStyle)preferredStatusBarStyle {

if (barStyleLight){

    return UIStatusBarStyleLightContent;
}
else {

    return UIStatusBarStyleDefault;
}