我有一个选项卡式栏应用程序,状态栏色调颜色设置为默认 - 因此在整个应用程序中它始终是我选择的蓝色。
然而,在一种视图中,我隐藏了导航栏,如下所示:
[self.navigationController setNavigationBarHidden:YES];
这是在viewWillAppear
方法和视图是可访问的,因为它是我的应用程序的选项卡之一。
我隐藏它的原因是因为我想在它的位置放置一个工具栏(大约有 6 个按钮)。
我已经设置了工具栏的色调颜色,但是,此视图上的状态栏始终为黑色。有没有办法重新设置此视图的状态栏,或者有更好的方法隐藏导航栏以保留状态栏色调颜色。
UPDATE我在某处读到,当着色设置为默认值时,状态栏的颜色将是标题中最低像素的颜色。
我尝试过在故事板中隐藏导航栏,也尝试将色调颜色更改为“自定义”,但这也没有效果。
这两个屏幕截图可能说明了我的问题。切换导航栏会更改状态栏颜色。这是相关视图嵌入的导航控制器。
![With Navigation Bar - blue status bar](https://i.stack.imgur.com/6uaWF.png)
![Without Navigation Bar - black status bar](https://i.stack.imgur.com/KGm1n.png)
啊啊!!!我有一个可行的解决方案......尽管是一个非常肮脏和临时的解决方案。
- 只需隐藏故事板中的导航栏(如相关图像所示 - 取消选中
Shows Navigation Bar
).
- 将导航栏拖到视图中。
- 设置它的
Alpha
为 0 并取消选中User Interaction Enabled
- 不要隐藏
-
确保导航栏位于顶部 - 如下图所示。
![Screen Capture](https://i.stack.imgur.com/M3u7A.png)
这样你的状态栏就会选择正确的颜色,而不显示导航栏。
希望最近的 Xcode 更新中有一种更有弹性/更好的方法来做到这一点。
Top Tip:要使工具栏看起来像导航栏:
- 将工具栏定位在 Y 轴上 -1
- 创建一个高度为 44 像素、宽度为 320 像素、位置为 0,0 的标签(无文本)。这将是选项卡栏的底部边框。为了获得最佳结果,请截取应用程序页面的屏幕截图并使用软件获取边框的颜色 - 这是阴影开始之前选项卡最暗的部分(使用此颜色作为标签的背景)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)