美文网首页
iOS 踩坑记录 - preferredStatusBarSty

iOS 踩坑记录 - preferredStatusBarSty

作者: 剧文轩 | 来源:发表于2021-04-20 16:58 被阅读0次

    今天改了新的需求,将原来的登录页面白色系改成了暗色系。UI改完以后,运行了以后发现顶部的状态栏字体还是黑色的,不协调。

    - (UIStatusBarStyle)preferredStatusBarStyle {
        return UIStatusBarStyleLightContent;
    }
    

    随手加上代码,信心满满,运行以后。发生的事情让我难以置信,状态栏还是黑色的,没有变化,断点也没执行。

    带着满脑子的疑惑开始排查问题
    • 先去翻找了自己的老项目,发现自己老项目也是这样写的,运行老项目,没问题。状态栏也是白色的。

    • 新建一个工程项目,demo运行成功。状态栏为白色

    基本确定是当前项目的问题

    上网查了相关资料

    • info.plist 设置View controller-based status bar style appearance = NOYES or NO 都尝试了,没效果,UI没有变化。❌
    • UINavigationController不会将 preferredStatusBarStyle方法调用转给它的子视图 需要隐藏 UINavigationBar 可是我们的 UINavigationBar 已经隐藏掉了啊。❌

    再次回顾代码

    跟着代码顺藤摸瓜,找到了 loginVC 创建的时候,发现了一处的代码

    // 问题代码
    nai.modalPresentationStyle =  UIModalPresentationOverFullScreen 
    

    发现这里和自己平时使用有点不同,随即修改了代码

    nai.modalPresentationStyle =  UIModalPresentationFullScreen 
    


    再次运行了程序,谢天谢地,状态栏终于修改成功了。差点就惨死在这个小问题上了

    最后贴上两个属性的作用

        // 跳转之后覆盖整个屏幕,不透明
        UIModalPresentationFullScreen
        //跳转之后覆盖整个屏幕,透明
        UIModalPresentationOverFullScreen 
    
    

    相关文章

      网友评论

          本文标题:iOS 踩坑记录 - preferredStatusBarSty

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