将一个导航栏更改为透明会将所有导航栏更改为透明

时间:2016-04-21 04:13:05

标签: ios swift uinavigationcontroller uinavigationbar

我的导航控制器嵌入到我的应用的第一个视图中。

当我在一个视图上将导航栏更改为透明时,它会将其更改为对所有视图透明,我似乎无法将其更改回来。

我希望我的一些观点透明但不是全部。

要设置为透明我使用:

self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.translucent = true

3 个答案:

答案 0 :(得分:2)

将更改导航栏背景颜色的代码放在 1/2 1/1 R3----------R1 ---------- R2 中,然后在viewWillAppear

中将颜色更改回默认值

答案 1 :(得分:0)

UINavigationController对于此层次结构中的所有视图控制器都是通用的,如果您想要更改某些视图控制器的半透明效果,请在特定控制器viewDidLoad中更改它。

答案 2 :(得分:0)

试试这段代码,

    self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
    self.navigationController?.navigationBar.shadowImage = UIImage()
    self.navigationController?.navigationBar.backgroundColor = UIColor(red: 0.0, green: 0.3, blue: 0.5, alpha: 0.3)
    self.navigationController?.navigationBar.translucent = true

希望它有用