前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >​# iOS StatusBar 设置

​# iOS StatusBar 设置

原创
作者头像
莫空9081
修改2021-07-21 16:35:08
1.3K0
修改2021-07-21 16:35:08
举报
文章被收录于专栏:iOS 备忘录

iOS StatusBar 设置

全局设置

StatusBar的全局设置,需要首先在info.plist中设置View controller-based status bar appearance为NO,关掉按界面设置status bar 显示。

显示/隐藏

方法一:在Target下的Deployment Info中不勾选/勾选Hide status bar

wecom20210630-151212@2x.png
wecom20210630-151212@2x.png

方法二:代码设置

代码语言:txt
复制
[UIApplication sharedApplication].statusBarHidden = YES;

设置

方法一:在Target下的Deployment Info中设置Status Bar Style

wecom20210630-151212@2x.png
wecom20210630-151212@2x.png

方法二:代码设置

代码语言:txt
复制
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

界面单独设置

首先在info.plist中设置View controller-based status bar appearance为YES,打开按界面设置status bar 显示。

普通的ViewController设置:

代码语言:txt
复制
- (UIStatusBarStyle)preferredStatusBarStyle {
    return UIStatusBarStyleDefault;
}

如果是UINavigaitonController,则需要添加一个继承自UINavigationController的子类,在子类中设置如下代码,使用子类来控制。或者添加UINavigaitonController的Category,在Category中设置如下代码

原因是:UIViewController嵌套在UINavigaitonController中时,会优先调用UINavigationController的preferredStatusBarStyle,所以直接在UIViewController中设置是不生效的。

代码语言:txt
复制
- (UIStatusBarStyle)preferredStatusBarStyle {
    return [self.topViewController preferredStatusBarStyle];
}

- (UIViewController *)childViewControllerForStatusBarStyle {
    return self.topViewController;
}

问题

modal出来的viewController设置了prefersStatusBarHidden不生效的问题,需要设置modalPresentationCapturesStatusBarAppearance为YES;

代码语言:txt
复制
@implementation TargetViewController

- (instancetype)init {
    self = [super init];
    if (self) {
        self.modalPresentationStyle = UIModalPresentationOverFullScreen;
        self.modalPresentationCapturesStatusBarAppearance = YES;
    }
    return self;
}

- (BOOL)prefersStatusBarHidden {
    return YES;
}

参考

iOS开发-Status Bar设置汇总

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • iOS StatusBar 设置
    • 全局设置
      • 显示/隐藏
      • 设置
    • 界面单独设置
      • 问题
        • 参考
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档