我通过在 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)
但事实证明导航栏的小底线不见了,这是显示正常导航栏的图像:

但结果是这样的:

知道发生了什么吗?和任何解决方案?谢谢
它丢失了,因为您将阴影图像设置为零。要解决此问题,请删除下面的行:
self.navigationController?.navigationBar.shadowImage = nil
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2049 次 |
| 最近记录: |