UINavigtionController Nib 的顶栏黑色不透明在 UIViewController 上不显示黑色

Posted

技术标签:

【中文标题】UINavigtionController Nib 的顶栏黑色不透明在 UIViewController 上不显示黑色【英文标题】:UINavigtionController Nib's Top Bar Black opaque not showing black on UIViewController 【发布时间】:2016-10-10 10:17:29 【问题描述】:

我在 Swift 中创建了新的 Storyboard Project 并将 UINavgationController 添加到初始 UIViewController 然后我将 Navigation Bar 的颜色从 Storyboard 更改为 UINavigationController 的黑色,但是当我运行应用程序时它显示白色导航栏。

请注意,我不希望以编程方式解决此问题。我只需要使用情节提要来解决这个问题。

[更新]

这就是我在故事板中所做的

这是我在模拟器中得到的:

有什么帮助吗?

谢谢

【问题讨论】:

在 viewdidload self.navigation!.navigationBar.barTintColor 中添加这一行! = UIColor.black 感谢 Maniganda,但我在问题中提到我不需要代码 【参考方案1】:

我不确定你在情节提要中做了什么。但这就是你可以做的事情:

    在导航控制器内选择一个导航栏。

    选择所需的样式。

更新 1

另一种解决方案是使用外观。请记住,它将应用于项目中的所有导航栏。

[[UINavigationBar appearance] setBarTintColor:[UIColor blackColor]];
[[UINavigationBar appearance] setTranslucent:YES];

更新 2

或者

[[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];
[[UINavigationBar appearance] setTranslucent:YES];

更新 3

如果您真的不想编写任何代码,可以从情节提要中执行此操作。这里1对应UIBarStyleBlack

【讨论】:

感谢 Artem Stepanenko,但这不起作用,我已经这样做了 我刚刚创建了一个虚拟项目,它可以工作。你确定你选择了导航栏(不是导航控制器)吗? 我使用嵌入选项来分配 UINavigationController 也许这就是它不起作用的原因? 您能否上传一个屏幕截图,显示设置嵌入选项的含义? 它在 XCode 的顶部栏,编辑器 -> 嵌入 -> 导航【参考方案2】:

尝试将 Bar Tint 颜色设置为 BlackColor 并取消选中 Translucent

【讨论】:

【参考方案3】:

我使用的是导致此问题的左滑动菜单库。该库覆盖了导航栏,这就是我看到白色导航的原因。

【讨论】:

以上是关于UINavigtionController Nib 的顶栏黑色不透明在 UIViewController 上不显示黑色的主要内容,如果未能解决你的问题,请参考以下文章

在 nib 文件中加载 nib 文件

Cocoa (Xcode 4),从另一个 NIB 更改一个 NIB 上的标签

以编程方式加载 nib2 时,来自 nib1 的 awakeFromNib 被调用

可插拔自定义视图 Nibs (Nib-in-a-Nib):内存泄漏 - 为啥?

使用 nib 作为带有 nib 类的表节标题

未找到 Nib 文件 Main-iPad~ipad.nib'