美文网首页
iOS隐藏状态栏实现方案笔记

iOS隐藏状态栏实现方案笔记

作者: 数字d | 来源:发表于2021-05-24 09:50 被阅读0次

    在做视频播放的时候,播放器的横屏这块,需要处理设备的旋转方向和横屏的逻辑比较多,因此在网上找了一些大牛的解决方案,暴力一点就是直接让当前的view横屏,给用户的体验就是页面已经横屏了,但是实际上的UI实现还是竖屏的.

    这么做的唯一问题就是横屏时候,页面不会出现电池和网路的UI导航栏,暂时忽略

    网上最详细的实现方案见https://www.jianshu.com/p/2fa9fe832929

    下载demo之后可以看到的是,即使在iOS13以上的版本,依然可以达到预期的效果.

    但是在引入到项目中之后,发现在iOS13以后,点击了横屏,不会隐藏状态栏,这个问题出在了哪里呢?

    经过排查发现,在项目的Info.plist文件中,我们经常会将View controller-based status bar appearance 的属性值设置为NO,方便我们在项目中可以随意改变状态栏的颜色和字体颜色.

    一旦设置了NO,那么上述的demo所展现出来的效果就不能理想的实现

    这里直接上解决方案:

    step1.

    14.png

    TARGETS - general - status Bar Style - Hide status bar - 选中

    step2.
    Appdelegate.m中的方法里面

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
        ...
     [UIApplication sharedApplication].statusBarHidden = NO;
        ...
        ...
    }
    

    在任何需要改变状态栏显示和隐藏的位置,设置statusBarHidden的值即可解决问题

    相关文章

      网友评论

          本文标题:iOS隐藏状态栏实现方案笔记

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