更改状态栏文字颜色以iOS版9光与目标C

问题描述:

如何更改状态栏文本颜色的iOS 9
如何更改状态栏文本颜色为白色
请帮助我。
谢谢。更改状态栏文字颜色以iOS版9光与目标C

+0

你不应该自定义状态栏。选择一种可用的状态栏样式。当状态栏处于黑暗背景时,文本颜色应该是白色。 –

+0

请检查我的答案,并告诉我审查@ reza_darkman797 –

+2

在iOS9上,只是这在AppDelegate中工作...''[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];''' – Dimitris

如果按照礼法,启动屏幕仍然是黑色的。

这种方法比较好。

  1. 转到Project - >Target

  2. 设置Status Bar StyleLight Project Setting

  3. Info.plist设置View controller-based status bar appearanceNO

+0

awesome,谢谢! – sCha

+0

状态栏样式的下拉列表在xcode 7.2中丢失了。我在哪里可以找到它? –

+0

@SonicMaster我不知道为什么你没有找到它我可以在xcode 7.2中看到它?_? –

使用UINavigationController并将其导航栏的barStyle设置为.Black。在您的AppDelegate.m文件中过去此行。

navigationController.navigationBar.barStyle = UIBarStyleBlack; 

如果你不使用UINavigationController然后添加以下在ViewController.m文件中的代码。

- (UIStatusBarStyle)preferredStatusBarStyle 
{ 
    return UIStatusBarStyleLightContent; 
} 

并调用该方法,以这条线:

[self setNeedsStatusBarAppearanceUpdate]; 
+0

不幸的是不起作用。 –

+0

您使用导航控制器吗? @ reza_darkman797 –

+0

它可以与navbar完美配合工作 – Aragunz

  1. 添加的关键在你的info.plist文件UIViewControllerBasedStatusBarAppearance并将其设置为YES

  2. 在您的视图控制器的viewDidLoad方法中添加一个方法调用:

    [self setNeedsStatusBarAppearanceUpdate]; 
    
  3. 然后粘贴以下方法viewController文件:

    - (UIStatusBarStyle)preferredStatusBarStyle 
    { 
        return UIStatusBarStyleLightContent; 
    } 
    
+1

这就是我想要的,因为我只想改变那个视图控制器的样式。 –

+1

您也可以在ViewController的.xib中设置状态栏的样式(即不是添加prefferedStatusBarStyle方法) –

+0

对于UIStatusBarStyleLightContent,您也可以在选择项目后在常规选项卡中选择Light。无需代码。 – coolcool1994

iOS的状态栏只有2个选项(黑与白)。 可以在AppDelegate中试试这个:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ 
    [[UIApplication sharedApplication] setStatusBarStyle: UIStatusBarStyleLightContent]; 
} 
+0

'setStatusBarStyle:'已被弃用:在iOS 9.0中首次弃用 - 使用 - [UIViewController preferredStatusBarStyle] – omega1

首先设置

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

转到您的AppDelegate,发现其didFinishLaunchingWithOptions方法做:

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

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; 

} 

,然后设置View controller-based status bar appearance等于NO在plist。

+6

向plist添加条目是这个答案中最重要的部分,没有这个,那么你将无法设置样式个人观点 –

+15

setStatusBarStyle在iOS 9中已弃用... – CodeSmith

+4

自iOS 9起,此方法已弃用。使用视图控制器方法来代替: - (UIStatusBarStyle)preferredStatusBarStyle {返回UIStatusBarStyleLightContent;}' 您还需要在您的Info.plist添加此键: “UIViewControllerBasedStatusBarAppearance” – Hugo

将密钥View controller-based status bar appearance添加到Info.plist文件并将其布尔类型设置为NO。在viewDidLoad

插入一行代码(在那里提到了这一点适用于特定的类)

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent; 
+1

'statusBarStyle'只读:'@property(只读,非原子)UIStatusBarStyle statusBarStyle'在iOS9中,而'setStatusBarStyle'已弃用 – zxcat