按下弹出 View Controller 时,iOS 11 导航栏大标题为黑色

标签 ios uinavigationcontroller ios11

我对 iOS 11 的新导航栏有疑问。

在 Root View 中通过代码设置新的导航:

if (@available(iOS 11.0, *)) {
    self.navigationController.navigationBar.prefersLargeTitles = YES;
    self.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeAlways;
}

然后从 Root View ,我推到另一个 View 并设置代码导航栏

if (@available(iOS 11.0, *)) {
    self.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeNever;
}

效果很好。但是,当 push 和 pop view 出现黑色时,如下图所示:

enter image description here

虽然我没有为导航栏设置背景,但我不知道为什么这个 View 上出现黑色是我应用程序中整个屏幕的黑色。

有人对这个问题有任何想法。请给我一些解决该错误的建议。谢谢。

最佳答案

我通过在 UIViewController 类中设置导航 Controller 背景颜色解决了这个问题,我得到了黑色。

这是我使用的代码:

navigationController?.view.backgroundColor = UIColor.white

我曾尝试更改 Storyboard 中的背景颜色和阴影,但似乎无法解决此问题。希望这个答案在这里仍然相关。

关于按下弹出 View Controller 时,iOS 11 导航栏大标题为黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45321694/

相关文章:

iOS 11 应用提交 : "Too many symbol files"

swift - UITextView 没有成为 iphone X ios 11 的第一响应者

ios - TableView 未填充数据

objective-c - 有什么方法可以从 Facebook iOS SDK 返回的访问 token 中提取 session key 吗?

ios - MFMailComposeViewController 对象未在 iPad 中分配,但在模拟器中工作正常

ios - 在 Swift 中覆盖一个 var

ios - 弹出到 Root View Controller 时无法更新导航栏

objective-c - 插入 UINavigationController 堆栈的 UIViewController 丢失 UIAppearance 设置

swift - 通过推送在 View 中隐藏标签栏

ios - 当用户在 iOS 11 中点击时,UItextview 选择的文本不会被取消选择