美文网首页
iOS 状态栏修改以及视频全屏播放时的注意点

iOS 状态栏修改以及视频全屏播放时的注意点

作者: _RG | 来源:发表于2018-11-20 10:17 被阅读0次

    方式一: 修改Info.plist,

    1. 在Info.plist里面添加 Status bar is initially hidden, 设置为YES,则启动页时看不到状态栏,设置为NO, 则启动页时能看见状态栏
    1. 在Info.plist里面添加 Status bar style, 有以下两个值,这个是控制APP状态栏颜色的,但是会受到View controller-based status bar appearance设置的影响, 如果View controller-based status bar appearance设置为YES时, 有导航栏的情况时, 会默认以导航栏的状态栏颜色为准,也就是默认黑色。 此时即使Status bar style设置为 UIStatusBarStyleLightContent在有导航栏的页面也会无效, 必须在导航栏控制器实现- (UIStatusBarStyle)preferredStatusBarStyle 方法,

    如果View controller-based status bar appearance设置为NO时, 只会以 Status bar style设置的颜色为准, 无法用- (UIStatusBarStyle)preferredStatusBarStyle更改状态栏的颜色

    // 默认的黑色
    UIStatusBarStyleDefault
    
    // 白色
    UIStatusBarStyleLightContent
    

    2.1当前控制器导航栏未隐藏时,状态栏附着在导航栏上,因此修改当前控制器的preferredStatusBarStyle无效,需要修改导航控制器的preferredStatusBarStyle方法,或者在导航控制器分类里面重写- (UIViewController *)childViewControllerForStatusBarStyle方法,返回self.topViewController

    当导航栏未隐藏时,将状态栏的修改权交给最上层的控制器
    @implementation UINavigationController (Catl)
    
    - (UIViewController *)childViewControllerForStatusBarStyle{
    
        return self.topViewController;
    
    }
    
    @end
    

    3.View controller-based status bar appearance, 谷歌翻译是(查看基于控制器的状态栏外观), View controller-based status bar appearance 默认为YES

    个人理解,View controller-based status bar appearance一旦设置为NO, 则所有对控制器的状态栏操作都会无效,此时控制器状态栏的颜色完全取决于Status bar style设置的颜色

    这就是为什么当View controller-based status bar appearance一旦设置为NO, 且Status bar style设置为UIStatusBarStyleLightContent时, 控制器的状态栏为白色,

    温馨提示: 不要将View controller-based status bar appearance设置为NO

    1. 要隐藏状态栏时, 不管有没有导航栏, 只要View controller-based status bar appearance设置为YES, 就可以在当前控制器页面实现 - (BOOL)prefersStatusBarHidden方法就行。

    当视频全屏播放时,如果播放开始按钮或者返回按钮在状态栏上时会无法响应点击事件,此时最好的方式是 在全屏播放时隐藏状态栏

    通过变量属性来控制显示和隐藏, 在设置hiddenStatusBar的值后,
    重新渲染状态栏[self setNeedsStatusBarAppearanceUpdate];

    - (BOOL)prefersStatusBarHidden {
        return self.hiddenStatusBar;
    }
    

    相关文章

      网友评论

          本文标题:iOS 状态栏修改以及视频全屏播放时的注意点

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