ios开发状态栏颜色,ios顶部状态栏白色

iOS 状态栏更改颜色

1.状态栏在普通iPhone上高度是20.但是在iPhone X上是44.

成都创新互联公司长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为三门峡企业提供专业的网站建设、成都网站制作,三门峡网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

* 注意:iPhoneX导航栏高度是 44 + 44

2.状态栏字体颜色:

        2.1:黑色: UIStatusBarStyleDefault (默认)

        2.2:白色: UIStatusBarStyleLightContent

方法一 : 在 info.plist 中,将 View controller-based status bar appearance 设为 NO   

1.全局的设置 在app delegate中设置状态栏颜色:

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

2.全局隐藏状态栏(会往上移动状态栏的高度,一般不会全局隐藏它)

[UIApplication sharedApplication].statusBarHidden = YES;

方法二:

在 info.plist 中,将 View controller-based status bar appearance 设为 YES (默认值就是YES),或者没有设置。 (建议使用方法一,这个方法我没用过) 

如果值为YES。方法一的设置方法则无效,用下面方法

//在基类的Navigation中设置全局颜色,但是隐藏nav的颜色会不更改

//在VC中设置

//获取高度,然后在特殊界面根据状态栏高度适配

//statusBar高度

链接2

iOS 更改状态栏颜色和隐藏状态栏

状态栏的字体为黑色:UIStatusBarStyleDefault

状态栏的字体为白色:UIStatusBarStyleLightContent

状态栏字体的颜色只由下面的属性设定,默认为白色:

解决个别vc中状态栏字体颜色不同的办法

在info.plist中 View controller-based status bar appearance 的 默认值就是YES

如果View controller-based status bar appearance为YES 时 [UIApplication sharedApplication].statusBarStyle 无效。

解决方案:

当vc在nav中时,上面方法没用,vc中的preferredStatusBarStyle方法根本不用被调用。

原因是,[self setNeedsStatusBarAppearanceUpdate]发出后,只会调用navigation controller中的preferredStatusBarStyle方法,vc中的preferredStatusBarStyley方法跟本不会被调用。

解决办法有两个:

1.View controller-based status bar appearance = NO

2.View controller-based status bar appearance = YES

3.设置Status bar is initially hidden = YES

iOS 改变状态栏颜色

- ( void )viewDidAppear:( BOOL )animated {

[ super viewDidAppear:animated];

UIView*statusBarView;

if ( @available (iOS13.0, *)) {

  statusBarView = [[UIView alloc] initWithFrame:[UIApplication sharedApplication].keyWindow.windowScene.statusBarManager.statusBarFrame];

  statusBarView.backgroundColor= [UIColorcolorWithHexString:@"#5a9eff"];

  [[UIApplication sharedApplication].keyWindow addSubview:statusBarView];

} else {

  statusBarView= [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];

  if ([statusBarViewrespondsToSelector: @selector (setBackgroundColor:)]) {

      statusBarView.backgroundColor= [UIColorcolorWithHexString:@"#5a9eff"];

  };

}

}

文章标题:ios开发状态栏颜色,ios顶部状态栏白色
分享地址:https://www.cdcxhl.com/article20/dsddico.html

成都网站建设公司_创新互联,为您提供网站设计域名注册品牌网站建设品牌网站设计营销型网站建设用户体验

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站建设