导航栏在模拟器中显示文本,但不在故事板中显示

时间:2017-08-29 19:28:46

标签: ios xcode

我的导航栏是透明的,只有我的应用程序中显示的栏按钮。在我的故事板中我没有标题,因此导航栏看起来什么都没有,但是当我运行模拟器时,我删除的文本在导航栏中。

这是我发现的解决问题的方法:

没有透明度的导航栏应该是什么样子

What the nav bar should look like without the transparency (in Storyboard)

导航栏在模拟器中的样子

What the nav bar looks like in the simulator

使条形码透明的代码:

//Makes navigation bar translucent        
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: UIBarMetrics.default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.isTranslucent = true

1 个答案:

答案 0 :(得分:0)

在您的代码中,内部视图将显示方法 使用此代码

self.title = "" // or whatever text you have

在你的app delegate中,用选项方法完成了启动:

    UINavigationBar.appearance().barTintColor = .white
    UINavigationBar.appearance().isTranslucent = false

    UINavigationBar.appearance().titleTextAttributes = 
    [NSForegroundColorAttributeName: UIColor.black]  // shouldn't be needed, but if you want something
    UINavigationBar.appearance().tintColor = .blue

从您的故事栏中删除您所做的任何更改。它可以通过代码完成,因为它需要在应用程序中保持一致。尝试从代码本身处理状态栏和导航栏。