的iOS 11导航栏大标题有黑色当推弹出视图控制器上

问题描述:

我有新的导航栏为iOS 11.的iOS 11导航栏大标题有黑色当推弹出视图控制器上

在根视图的问题由代码设定新的导航:

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

然后从根视图,我推到另一个视图,设置代码导航栏由

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

它工作得很好。然而,当push和pop查看黑色出现像下面的图片:

enter image description here

我不知道为什么黑色出现在这个观点,虽然我没有设置回地面的导航栏是一在我的应用程序整个屏幕的黑色。

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

+0

显示您的帐户VC代码 –

我在自己的应用程序通过继承的UINavigationController并设置其view.backgroundColor解决了这个。

+0

是的。代码的黑暗影响在根目录导航中设置了清晰的颜色。 –

+0

我同意,但显示的颜色比您选择的颜色最黑,我不知道为什么。 – sancho

+0

@sancho阴影,也许? – cook

我通过在UIViewController类设置导航器的背景颜色在那里我得到黑色的解决了这个问题。

这里是我使用的代码:我试图改变背景颜色和阴影在故事板

navigationController?.view.backgroundColor = UIColor.white 

,但它似乎并没有解决这个问题。希望这个答案在这里仍然相关。

我解决了简单的扩展

extension UINavigationController { 

    @IBInspectable var backgroundColor: UIColor { 
     set { 
      self.view.backgroundColor = newValue; 
     } 
     get { 
      return self.view.backgroundColor ?? UIColor.black; 
     } 
    } 

} 

您可以从故事板更改背景颜色这个问题!