前言:
IOS的界面,分为:状态栏、导航栏、主界面、底部状态栏。
本篇讲述状态栏的相关操作。
1:状态栏的高度:
框架是自动布局和自适应的,所以提供了一个宏定义来表示状态栏的高度:
当页面布局,需要用到状态栏高度的时候,就用:STStatusHeightPx来使用。
当页面无导航栏显示的,主UIView是占满屏显示的,这时候的布局,计算相对位置时,可能会用到状态栏高度。
2、状态栏的样式文字颜色样式控制
方法定义:
//!设置视图Status栏显示的样式:默认全局
-(UIViewController*)setStatusBarStyle:(UIStatusBarStyle)style;
//!设置当前视图Status栏显示的样式:默认全局 @forThisView 是否只在当前View失效 默认:NO
A、字体颜色类型【黑|白】:
-(void)onInit
{
//状态栏
[self setStatusBarStyle:UIStatusBarStyleLightContent];//Start中字颜色为黑,这里改白、全局生效
这个是全局的设置。
局部设置:
-(void)onInit
{
//状态栏
[self setStatusBarStyle:UIStatusBarStyleLightContent forThisView:YES];//Start中字颜色为黑,这里改白、全局生效
B、控制背景为颜色或图片:(sagit=self.view)
@"circle_bg"];
[[sagit statusBar] backgroundColor:ColorBlue];
可以在任意视图里获取状态栏的UI窗体,得到一个UIView,然后设置背景色或背景图即可。
这里的设置也是对全局生效。
3、隐藏或显示状态栏(self为当前控制器)
- (void)initUI
{
[self needStatusBar:NO];
}
参数YES、NO控制是否显示或隐藏。
默认全局定义是显示,因此只要设置隐藏的页即即可,显示的页面不需要设置。
其它:
各种状态栏和隐藏栏的bug或小问题、框架已经内部处理好了。