您的位置:首页 > 移动开发 > IOS开发

iOS状态栏颜色设置

2016-01-13 22:26 573 查看
13rd,Jan,2016

状态栏(UIStatusBar)

状态栏(20px),分两部分前景部分与背景部分.在没有导航栏的情况下,状态栏的背景颜色是透明的.

App启动时和运行时全程隐藏状态栏,只需简单将Status
bar is initially hidden(UIStatusBarHidden)设置为YES。

状态栏可设置两种颜色:

默认的黑色(UIStatusBarStyleDefault)
白色(UIStatusBarStyleLightContent)

1.基于ViewController的状态栏控制(View controller-based status bar appearance
: YES)

App默认是基于ViewController的状态栏控制,即在ViewController重载prefersStatusBarHidden、preferredStatusBarStyle和preferredStatusBarUpdateAnimation三个方法,及在必要时调用setNeedsStatusBarAppearanceUpdate方法。

2.基于Application(View controller-based status bar appearance
: NO)

默认为黑色,所以以下一律是针对改成白色

设置方法:
1) plist文件:

a.设置View controller–based status bar appearance 为NO; //设置是否隐藏状态栏

b.设置Status
bar style为UIStatusBarStyleLightContent或Transparent black style (alpha of 0.5)
/Opaque black style

2) b也可通过代码修改



info.plist文件中,View controller-based status bar appearance项默认为YES,即View
controller对status bar的设置优先级高于application的设置。为NO则以application的设置为准,view controller的prefersStatusBarHidden方法无效,是根本不会被调用的。

@property(nonatomic,getter=isStatusBarHidden) BOOL statusBarHidden;

- (void)setStatusBarHidden:(BOOL)hidden withAnimation:

逗比行为:

好吧,真真被自己蠢哭了。 statusbar弄到现在。差不多两三个钟头,就是因为最近界面挑的statusbar为白色,然后进入搜索页面就没了。然后尝试了下最近界面状态栏为黑色,则搜索页面有显示。然后就这个梗搞了两三个钟头。

参考资料:


[iOS]关于状态栏(UIStatusBar)的若干问题

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: