美文网首页
Status bar的显示和隐藏

Status bar的显示和隐藏

作者: Coder007 | 来源:发表于2017-09-07 11:53 被阅读19次

Status bar的显示和隐藏

  • 如果想要的效果是启动时隐藏,进入软件之后显示
    • 可以在设置中勾选Hide status bar选项
  • View controller-based status bar appearance
    • NO - 代表status bar 的控制权限给了UIApplication
    • YES(默认值) - 代表控制器的优先级比UIApplication高,而且这个时候使用UIApplication控制status bar 将没有效果

最简单的方法(我自己认为)

  • 在info.plist中配置View controller-based status bar appearance为NO
  • 全部页面都隐藏
    • AppDelegateapplication:didFinishLaunchingWithOptions:方法中设置
    • [UIApplication sharedApplication].statusBarHidden = YES;
  • 有的页面需要隐藏
- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [UIApplication sharedApplication].statusBarHidden = YES;
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    [UIApplication sharedApplication].statusBarHidden = NO;
}
  • 有的页面需要改变状态栏颜色
- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
}

控制器自己控制状态栏

  • 当info.plist中没有对View controller-based status bar appearance设置,默认值是YES
/**
 让当前控制器对应的状态栏改变颜色,是白色还是黑色
 */
- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}

/**
 让当前控制器对应的状态栏显示或者隐藏
 */
- (BOOL)prefersStatusBarHidden
{
    return YES;
}

相关文章

网友评论

      本文标题:Status bar的显示和隐藏

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