美文网首页
iOS statusBar

iOS statusBar

作者: 奔跑吧小蚂蚁 | 来源:发表于2018-05-15 17:10 被阅读271次

1.statusBar Info.plist文件配置说明详

分别在 Info.plist中添加以下字段,分别表示

1.Status bar is initially hidden  在程序启动过程中是否隐藏状态栏 需要隐藏 YES 不隐藏 NO。

2.View controller-based status bar appearance 全局statusbar默认样式,这个可以这样理解 当设置为YES是全局样式统一,只可通过- (BOOL)prefersStatusBarHidden ,进行隐藏设置 ,默认黑色字体,可编辑性较差,所以此处一般设为NO。

3.Status bar style  字体颜色设置
typedef NS_ENUM(NSInteger, UIStatusBarStyle) {
    UIStatusBarStyleDefault                                     = 0, // Dark content, for use on light backgrounds
    UIStatusBarStyleLightContent     NS_ENUM_AVAILABLE_IOS(7_0) = 1, // Light content, for use on dark backgrounds
    
    UIStatusBarStyleBlackTranslucent NS_ENUM_DEPRECATED_IOS(2_0, 7_0, "Use UIStatusBarStyleLightContent") = 1,
    UIStatusBarStyleBlackOpaque      NS_ENUM_DEPRECATED_IOS(2_0, 7_0, "Use UIStatusBarStyleLightContent") = 2,
} __TVOS_PROHIBITED;

由此我们可以看出Status bar style 提供四个接口参数,其中UIStatusBarStyleBlackTranslucent ,UIStatusBarStyleBlackOpaque iOS7之后已经废弃,我们常用的UIStatusBarStyleDefault 黑色字体  UIStatusBarStyleLightContent 白色字体两种

如图: info.png

2.自定义状态栏背景颜色

效果如下: 背景颜色.png

代码如下:

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:YES];
    //在将要显现页面时进行,颜色设置
    [self setStatusBarBackgroundColor:[UIColor blueColor]];
}
- (void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:YES];
    //在页面将要离开事对设置颜色进行置空恢复原来的颜色,或者clearColor 在此之前打印其背景颜色你会发现是空的。
    [self setStatusBarBackgroundColor:NULL];
}
//设置状态栏颜色
- (void)setStatusBarBackgroundColor:(UIColor *)color {
    UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
    if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
        statusBar.backgroundColor = color;
    }
}

3.隐藏设置 及动画

一切尽在无言中

- (IBAction)show:(id)sender {
    [UIView animateWithDuration:1.0 animations:^{
//        typedef NS_ENUM(NSInteger, UIStatusBarAnimation) {
//            UIStatusBarAnimationNone,无动画效果
//            UIStatusBarAnimationFade,颜色渐变效果动画
//            UIStatusBarAnimationSlide,滑动动画
//        } __TVOS_PROHIBITED;
        //直接出现
        //[[UIApplication sharedApplication] setStatusBarHidden:NO];
        //颜色渐渐变深直到出现
        //[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:YES];
        //颜色渐渐变深直到出现
        [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];
    }];
}
- (IBAction)hide:(id)sender {
    
    [UIView animateWithDuration:1.0 animations:^{
        //直接消失
        //[[UIApplication sharedApplication] setStatusBarHidden:NO];
        //颜色渐渐变浅直到消失
        [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
    }];
}
- (void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:YES];
    //在页面将要离开事对设置颜色进行置空恢复原来的颜色,或者clearColor 在此之前打印其背景颜色你会发现是空的。
    [self setStatusBarBackgroundColor:NULL];
   [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
}

相关文章

  • iOS 13 更改状态栏背景

    项目中需要更改 statusBar 背景色,可是 iOS 13 statusBar 找不到了,原来使用的 kvc ...

  • iOS 13 更改状态栏背景

    项目中需要更改 statusBar 背景色,可是 iOS 13 statusBar 找不到了,原来使用的 kvc ...

  • iOS 13更新

    StatusBur iOS 13之前获取StatusBar代码: iOS 13之后已经获取不到了,iOS 13之后...

  • iOS13 获取StatusBar并且获取网络状态

    获取StatusBar 项目中通过StatusBar来获取手机当前状态,但是在iOS 13中便获取不到了,调试了一...

  • iOS statusBar

    1.statusBar Info.plist文件配置说明详 分别在 Info.plist中添加以下字段,分别表...

  • iOS StatusBar

    1、在 Info.plist 中配置 View controller-based status bar appea...

  • iOS statusBar

    隐藏/显示statusBar(iOS 7.0+) 全局隐藏/显示状态栏在info.plist中添加View con...

  • ios statusBar

    viewController不在容器控制器中时1.1 设置启动动画时颜色 1.2 设置进入应用颜色 2.viewC...

  • IOS Statusbar

    设置启动时的statusbar 修改其中一处即可,另外一处会随之改变。

  • iOS Status bar could not find ca

    错误原因: 过程ViewController渲染的时候,系统默认StatusBar是NO,IOS StatusBa...

网友评论

      本文标题:iOS statusBar

      本文链接:https://www.haomeiwen.com/subject/gnoedftx.html