Ios 重新显示发际线

Ios 重新显示发际线,ios,swift,uinavigationcontroller,uinavigationbar,Ios,Swift,Uinavigationcontroller,Uinavigationbar,我有两个带有嵌入式导航控制器的TableViewController。ViewController-1在导航栏下显示发际线/阴影,当我导航到它时,ViewController-2不显示它。使用推送序列完成导航 要隐藏ViewController-2中的导航栏,我在ViewController-2中添加以下行将显示以下内容: self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: U

我有两个带有嵌入式导航控制器的TableViewController。ViewController-1在导航栏下显示发际线/阴影,当我导航到它时,ViewController-2不显示它。使用推送序列完成导航

要隐藏ViewController-2中的导航栏,我在ViewController-2中添加以下行将显示以下内容:

self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
        self.navigationController?.navigationBar.shadowImage = UIImage()
        self.navigationController?.navigationBar.translucent = false
当我使用“后退”按钮返回ViewController-1时,发际线也会消失,但我不希望它消失。是否有方法确保发际线不会隐藏在ViewController-1中

我试过:

self.navigationController?.navigationBar.barStyle = UIBarStyle.Black

但没有多大成功

在ViewWillEnglish或ViewController-2的ViewDidEnglish方法中,添加代码以撤消在ViewWillEnglish中所做的更改


你就是那个摧毁阴影的人,现在你在抱怨你摧毁了阴影要显示阴影,请执行与之前相反的操作:为导航栏提供一个非空背景图像和一个非空阴影图像。超级简单。谢谢
self.navigationController?.navigationBar.backgroundColor = UIColor.whiteColor()
self.navigationController?.navigationBar.setBackgroundImage(nil, forBarMetrics: UIBarMetrics.Default)
self.navigationController?.navigationBar.shadowImage = nil
self.navigationController?.navigationBar.translucent = true