Sagit.Framework For IOS 自动布局教程:5、状态栏 :高度、样式前景色控制、状态栏UIView控制、隐藏控制

2年前 (2022) 程序员胖胖胖虎阿
281 0 0

前言:

IOS的界面,分为:状态栏、导航栏、主界面、底部状态栏。

本篇讲述状态栏的相关操作。

1:状态栏的高度:

框架是自动布局和自适应的,所以提供了一个宏定义来表示状态栏的高度:

Sagit.Framework For IOS 自动布局教程:5、状态栏 :高度、样式前景色控制、状态栏UIView控制、隐藏控制

 

 当页面布局,需要用到状态栏高度的时候,就用: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或小问题、框架已经内部处理好了。

相关文章

暂无评论

暂无评论...