zoukankan      html  css  js  c++  java
  • iOS 隐藏/显示状态栏

    iOS状态栏Status的隐藏,有两种状态,一种是隐藏整个应用的状态栏,一种是隐藏局部的状态栏。

    一、隐藏全部状态栏

    方法一:通过info.plist控制

    1. 隐藏启动页/欢迎页(LunchScreen)的状态栏

    在info.plist中添加Status bar is initially hidden
    设置为YES,则隐藏启动页状态栏。

    1. 隐藏控制器的状态栏

    在info.plist中添加View controller-based status bar appearance
    设置为NO,则全局隐藏控制器状态栏。

    注意:

    `Status bar is initially hidden = NO`时(即不隐藏启动页状态栏),
    设置`View controller-based status bar appearance`状态无效,
    
    只有当`Status bar is initially hidden = YES`时,
    设置`View controller-based status bar appearance`的值为YES或NO才能控制状态栏显示和隐藏。
    

    方法二:通过代码控制

    1. 在info.plist中,添加 View controller-based status bar appearance,并 设置为 NO ;
    2. 在AppDelegate中,实现代码
    // OC
    [UIApplication sharedApplication].statusBarHidden = YES;
     
    // Swift
    // UIApplication.sharedApplication().statusBarHidden = true
    

    注意:

    1.如果想要通过代码实现状态栏隐藏,必须在 Info.plist 文件中添加 View controller-based status bar appearance ,并且必须设置为 NO ,否则代码不会有任何效果;
    2.代码只能隐藏应用控制器的状态栏,不能隐藏启动页的状态栏。

    二、隐藏局部状态栏

    想要隐藏某一个控制器的状态栏,需要在控制器里代码控制隐藏和显示。

    1. 在info.plist里添加View controller-based status bar appearance,并设置为YES;
    2. 在想要隐藏的控制器里实现方法
    //控制状态栏隐藏显示参数
    // @property (nonatomic, assign) BOOL preferStatusHidden;
    
    // OC
    - (BOOL)prefersStatusBarHidden {
        return YES;
    //  return self.preferStatusHidden;
    }
     
    // Swift
    // override func prefersStatusBarHidden() -> Bool {
    //    return true
    // }
    

    注意:

    如果想要通过代码实现某个控制器状态栏局部隐藏,必须在 Info.plist 文件中添加 View controller-based status bar appearance ,并且必须设置为 YES ,否则代码不会有任何效果。



    作者:Tony_HYH
    链接:https://www.jianshu.com/p/d333963bc117
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    python两个类之间变量和函数的调用
    ubuntu远程桌面设置
    ROS节点分布式运行方法
    pandaboard串口通信调试
    linux下查看cpu使用情况
    树莓派LED指示灯说明
    python多线程实践小结
    关系模型关系模型
    栈和队列的应用
    栈和队列
  • 原文地址:https://www.cnblogs.com/wzl666/p/12100770.html
Copyright © 2011-2022 走看看