iOS的隐藏条纹背景颜色

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

在这里输入图像说明

分离

在这里输入图像说明

单独的图片,看起来像一个大的。 在这里输入图像说明

我遇到了同样的问题,并能够解决它。 我相当新的iOS开发,我不认为这个解决scheme是万无一失的。 我在其他地方找不到任何好的答案,所以这里是我如何克服它:

  1. 我从一个UITableViewController转换到UIViewController与嵌套的UITableView。 请注意,请仔细检查将子tableview的委托设置为UIViewController。
  2. 我添加了一个高度为20像素,背景颜色,你想设置为状态栏的“背景”的视图。 在该视图上设置约束如下: 酒吧背景限制

  3. 在桌面视图上,将约束设置为基本全屏。 一个重要的说明在这里,最重要的约束是“顶部布局Guide.Top”,而不是“顶部布局Guide.Bottom”。 默认情况下,我认为这个约束关系到底部。 双击约束条件可以将其调整到最上方。 没有这个,任何表格标题单元格都没有为我定位 在这里输入图像说明

希望有所帮助。

增加George Huber的答案。 我编程解决了这个问题,通过添加一个20pt高度UIView作为navigationController的视图属性的子视图 – 在viewDidLoad方法。

 - (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 }