IOS UIStatusBar

来源:互联网 发布:网络接收器怎么用 编辑:程序博客网 时间:2024/05/14 13:30

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

plist设置statusBar

在plist里增加一行 UIStatusBarStyle(或者是“Status bar style”也可以),这里可以设置两个值,就是上面提到那两个
UIStatusBarStyleDefault 和 UIStatusBarStyleLightContent

这样在app启动的launch页显示的时候,statusBar的样式就是上面plist设置的风格。

程序代码里设置statusBar

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];  

或者

//相对于上面的接口,这个接口可以动画的改变statusBar的前景色

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];

需要在plist中View controller-based status bar appearance设置为NO

尽可能方法写在ViewWillAppear中,因为XIB可能会重改掉StatusBarStyle

但当设置了以后- (UIStatusBarStyle)preferredStatusBarStyle; 方法不会被调用

设置statusBar的【背景部分】

背景部分,简单来说,就是背景色;改变方法有两种:

系统提供的方法

navigationBar的setBarTintColor接口,用此接口可改变statusBar的背景色

注意:一旦你设置了navigationBar的- (void)setBackgroundImage:(UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics接口,那么上面的setBarTintColor接口就不能改变statusBar的背景色,statusBar的背景色就会变成纯黑色。

另辟蹊径

创建一个UIView,
设置该UIView的frame.size 和statusBar大小一样,
设置该UIView的frame.origin 为{0,-20},
设置该UIView的背景色为你希望的statusBar的颜色,
在navigationBar上addSubView该UIView即可。

0 0
原创粉丝点击