[iOS]APP启动时隐藏状态栏

作者: 流火绯瞳 | 来源:发表于2017-02-17 18:19 被阅读250次

    当APP启动时,我们首先看到的是启动图,这时,如果状态栏也跟着显示出来,会显得很难看,能不能在启动的时候隐藏状态栏,启动后再显示出来呢?
    今天,我们就来讨论一下这个问题:
    在另一篇文章UIStatusBarStyle修改状态栏样式,我介绍了如何修改状态栏的样式,有兴趣的话可以参考一下;
    先来介绍一下共同需要的操作:
    首先,在Info.plist文件添加字段View controller-based status bar appearance,类型为Boolean,设置为YES:

    添加字段View controller-based status bar appearance

    PS: 这里如果设置为NO,状态栏的设置将不受代码的控制

    然后,在工程设置General-->Deployment Info-->Status Bar Style下,勾选Hide status bar,暂时将状态栏隐藏:

    隐藏状态栏
    最后,添加代码,在APP启动后,使状态栏重新显示:
    在需要显示状态栏的UIViewController内重写下面的方法,即可显示状态栏:
    - (BOOL)prefersStatusBarHidden {
        
        return NO;
    }
    

    如果要改变状态栏的样式,可重写下面的方法:

    - (UIStatusBarStyle)preferredStatusBarStyle {
        
        return UIStatusBarStyleLightContent;
    }
    

    这样,即可在APP启动时隐藏状态栏,然后在启动后重新显示状态栏,并将状态栏的样式改为白色的;

    注意: 这里的设置是在没有导航的情况下有效的,当含有导航时,方法preferredStatusBarStyle的设置是无效的,prefersStatusBarHidden不受影响;

    如果,想要修改状态栏的样式,可使用下面的方法:

    self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
    

    关于这个,我在UIStatusBarStyle修改状态栏样式中也有介绍,有兴趣的同学,可以去看看.
    以上便是笔者对此的理解,如果有不正确的地方,或者你有其他更好的方法,还请告知,感谢!!!

    (完)

    相关文章

      网友评论

        本文标题:[iOS]APP启动时隐藏状态栏

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