Objective-C / Xcode状态栏颜色与导航栏颜色相同

时间:2018-12-31 01:40:18

标签: ios objective-c uistatusbar

我正在尝试使状态栏与导航栏的颜色相同,而与背景的颜色不同。我尚未找到任何可与iOS 12 Objective-C配合使用的解决方案,也不会阻止我从应用商店中删除我的应用。

这是我设置导航栏的方式:

[navController setBarTintColor:[UIColor colorWithRed:0.26 green:0.53 blue:0.96 alpha:1.0]];
[navController setTranslucent:FALSE];
[navController setBarStyle:UIBarStyleBlack];
[navController setTintColor:[UIColor whiteColor]];

我尝试将View controller-based status bar appearance用作YESNO,两者都没有改变。

编辑:当前行为:状态栏的颜色与视图的背景颜色相同。我正在尝试使其颜色与导航栏背景相同。

enter image description here

我将背景更改为红色以显示我在说什么。在这种情况下,我想将状态栏(或导航栏上方的任何内容)设置为蓝色,与导航栏的颜色相同。

1 个答案:

答案 0 :(得分:0)

在iOS 12中,状态栏没有颜色。它具有白色或黑色文本,并且背景清晰(透明)。

如果导航栏配置正确,它将显示在状态栏的后面,因此它们具有相同的 apparent 颜色。但是您的导航栏(或任何“可用作业”是什么)没有正确配置 ;它的顶部停止得太早(太低),因此在其后面可以看到红色视图。

您所看到的应该看起来像这样:

enter image description here

这是选项卡视图控制器中导航控制器中的表格视图。因此,您必须采取其他安排,但是您没有解释这是什么。

例如,如果您的导航栏“松散”,请按照我的说明进行操作: https://stackoverflow.com/a/30831452/341994。那是用于工具栏的,但是它的工作方式相同。

但是即使您永远不会进行任何导航,使用导航控制器也变得更加容易和更好!