iOS 导航栏底线缺失

Jun*_*ang 6 ios

我通过在 viewWillAppear 中添加以下代码使导航栏完全透明:

self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.translucent = true
self.navigationController?.navigationBar.barStyle = UIBarStyle.Black
Run Code Online (Sandbox Code Playgroud)

在当前视图消失之前,我通过在 viewDidDisappear 方法中执行此操作来重置导航栏:

self.navigationController?.navigationBar.setBackgroundImage(nil, forBarMetrics: UIBarMetrics.Default)
self.navigationController?.navigationBar.shadowImage = nil
Run Code Online (Sandbox Code Playgroud)

但事实证明导航栏的小底线不见了,这是显示正常导航栏的图像:

在此处输入图片说明

但结果是这样的:

在此处输入图片说明

知道发生了什么吗?和任何解决方案?谢谢

mgy*_*yky 3

它丢失了,因为您将阴影图像设置为零。要解决此问题,请删除下面的行:

self.navigationController?.navigationBar.shadowImage = nil
Run Code Online (Sandbox Code Playgroud)