美文网首页iOSiOS 开发
iOS 状态栏的隐藏/显示 黑色/白色

iOS 状态栏的隐藏/显示 黑色/白色

作者: Sparkle_S | 来源:发表于2017-03-02 18:21 被阅读2081次

    新建工程,状态栏默认竖屏显示,横屏隐藏,字体黑色。

    • 未修改Info.plist情况下,状态栏默认由控制器管理,在对应的视图类中重写该父类方法
      需求:状态栏横竖屏都显示/状态栏隐藏
    -(BOOL)prefersStatusBarHidden{
        [super prefersStatusBarHidden];
        return YES; //状态栏隐藏  NO显示   
    }
    

    需求:指定状态栏颜色

    -(UIStatusBarStyle)preferredStatusBarStyle{
        return UIStatusBarStyleLightContent;   //状态栏字体白色 UIStatusBarStyleDefault黑色
    }
    
    • Info.plist中设置View controller-based status bar appearance为NO的情况下,以上方法失效。状态栏由[UIApplication sharedApplication]来决定,对应地方添加以下
      设置View controller-based status bar appearance为NO.png
      需求:状态栏横竖屏都显示/状态栏隐藏
    [UIApplication sharedApplication].statusBarHidden = YES;  //状态栏隐藏  NO显示
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];     //状态栏隐藏  NO显示 同时可指定隐藏显示的动画
    

    需求:修改状态栏颜色

    [UIApplication sharedApplication].statusBarStyle = ![UIApplication sharedApplication].statusBarStyle;  //UIStatusBarStyleLightContent状态栏字体白色 UIStatusBarStyleDefault黑色
    [[UIApplication sharedApplication]setStatusBarStyle:![UIApplication sharedApplication].statusBarStyle  animated:YES];    //UIStatusBarStyleLightContent状态栏字体白色 UIStatusBarStyleDefault黑色  同时可指定变换动画
    

    注意:View controller-based status bar appearance-NO一但添加,通过重写父类方法来控制状态栏的地方都会失效,反过来也是。

    期待你的评论建议O(∩_∩)O~

    相关文章

      网友评论

        本文标题:iOS 状态栏的隐藏/显示 黑色/白色

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