繁体   English   中英

iOS hidesBarsOnSwipe状态栏背景色

[英]iOS hidesBarsOnSwipe status bar background color

当我使用hidesBarsOnSwipe属性滑动并隐藏导航栏时,状态栏具有清晰的背景。 如何将状态栏的背景设置为与导航栏相同的颜色? 这是一些显示我的问题的图片,这些都包含在UITableViewController

在此处输入图片说明

分离

在此处输入图片说明

单独的图片,看起来像一张大照片。 在此处输入图片说明

我遇到了同样的问题,并且能够解决它。 我对iOS开发人员还很陌生,而且我认为这种解决方案不会万无一失。 我在其他地方找不到任何好的答案,所以这是我克服的方法:

  1. 我从UITableViewController转换为带有嵌套UITableView的UIViewController。 注意,请仔细检查将子表视图的委托设置为UIViewController。
  2. 我添加了一个视图,该视图的高度为20px,背景色要设置为状态栏的“背景”。 在该视图上设置约束,如下所示: 酒吧背景约束

  3. 在表视图上,将约束设置为基本上全屏。 这里需要注意的一个重要问题是,顶部约束是“顶部布局指南。顶部”,而不是“顶部布局指南。底部”。 默认情况下,我认为此约束与底部相关。 双击约束,可以将其调整到顶部。 没有这个,任何表格标题单元格对我来说都不正确 在此处输入图片说明

希望能有所帮助。

添加到乔治·胡伯的答案。 我通过在viewDidLoad方法中添加20pt高的UIView作为navigationController的view属性的子视图来以编程方式解决了此问题。

- (void)viewDidLoad
{
  [super viewDidLoad];

  UIView *statusBarBG = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.bounds), 20)];
  statusBarBG.backgroundColor = [UIColor navBar];
  [self.navigationController.view addSubview:statusBarBG];

  // REST OF CODE
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM