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