我通过在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
在当前视图消失之前,我通过在viewDidDisappear方法中执行此操作来重置导航栏:
self.navigationController?.navigationBar.setBackgroundImage(nil, forBarMetrics: UIBarMetrics.Default)
self.navigationController?.navigationBar.shadowImage = nil
但事实证明导航栏的小底线缺失,这是显示正常导航栏的图像:
但事实证明是这样的:
关于发生了什么的任何想法?和任何解决方案?
谢谢
最佳答案 因为你将阴影图像设置为零而丢失了.要解决此问题,请删除以下行:
self.navigationController?.navigationBar.shadowImage = nil