当我使用hidesBarsOnSwipe
属性滑动并隐藏导航栏时,状态栏具有清晰的背景。如何将状态栏的背景设置为与导航栏相同的颜色?以下是一些显示我的问题的图片,这些图片都包含在UITableViewController
。
独立
单独的图片,看起来像一个大的。
答案 0 :(得分:5)
我遇到了同样的问题,并且能够解决它。我是iOS开发人员的新手,我不认为这个解决方案是万无一失的。我无法在其他地方找到任何好的答案,所以这就是我如何克服它:
我添加了一个高度为20像素的视图和一个你要设置为"背景"的背景颜色。到状态栏。在该视图上设置约束,如下所示:
在表格视图中,将约束设置为基本全屏。这里有一个重要的注意事项,最重要的约束是"顶部布局指南。顶部"而不是"顶部布局指南.Bottom"。默认情况下,我认为这种约束与底层有关。双击约束可以将其调整到顶部。没有这个,任何表格标题单元格都不适合我
希望有所帮助。
答案 1 :(得分:0)
添加到George Huber的答案。我通过添加20pt高度的UIView作为navigationController的view属性的子视图 - 在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
}