iOS开发_状态栏的相关设置

1、隐藏状态栏

  • 1.1 整个项目隐藏状态栏

    • 首先在info.plist里面View controller-based status bar appearance 设置为 NO.
    • 在Targets->General->勾选中Hide status bar .
  • 1.2 单个界面隐藏状态栏,例如登录注册页面

    • 1) 首先在info.plist里面View controller-based status bar appearance 设置为 NO.
    • 2) 在需要调控状态栏的ViewController类中添加以下代码:
    /** 进入时隐藏 */
    // 控制器的view 即将出现 的时候调用
    - (void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
        
        // 隐藏 = YES,显示 = NO; Animation:动画效果
        [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
    }
    
    /** 退出时显示 */
    // 控制器的view 即将消失 的时候调用
    - (void)viewWillDisappear:(BOOL)animated {
        [super viewWillDisappear:animated];
        // 隐藏 = YES, 显示 = NO; Animation:动画效果
        [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
    }
    
  • 1.3 启动页隐藏状态栏,进入程序后正常显示状态栏

    • 3.1) 首先在Targets->General->勾选中Hide status bar或者在info.plist里面 Status bar is initially hidden 设置为 YES

    • 3.2) 在AppDelegate.m中添加代码
    /// 运行程序时,必须执行的方法(程序入口)
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        [application setStatusBarHidden:NO withAnimation:UIStatusBarAnimationFade];
    }
    
  • 1.4 仅对当前页面有效

// 控制器的view 加载完毕 的时候调用
- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor blueColor];
}

// 状态栏隐藏与显示喜好设置
- (BOOL)prefersStatusBarHidden {
    return YES;
}

2、设置状态栏的样式

posted @ 2019-02-15 22:33  CH520  阅读(266)  评论(0编辑  收藏  举报