将一个导航栏更改为透明会将所有导航栏更改为透明
Changing one navigation bar to transparent changes all navigation bars to transparent
我在我的应用程序的第一个视图中嵌入了一个导航控制器。
当我在一个视图上将导航栏更改为透明时,它会将其更改为对所有视图透明,但我似乎无法将其改回原样。
我希望它对我的一些视图透明,但不是全部。
要设置为透明我使用:
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.translucent = true
UINavigationController
对于此层次结构中的所有视图控制器都是通用的,如果您想更改某些视图控制器的半透明性,请更改特定控制器的 viewDidLoad
.
将更改导航栏背景颜色的代码放在viewWillAppear
中,然后在viewWillDisappear
中将颜色改回默认颜色
试试这个代码,
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
希望对您有所帮助
我在我的应用程序的第一个视图中嵌入了一个导航控制器。
当我在一个视图上将导航栏更改为透明时,它会将其更改为对所有视图透明,但我似乎无法将其改回原样。
我希望它对我的一些视图透明,但不是全部。
要设置为透明我使用:
self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.translucent = true
UINavigationController
对于此层次结构中的所有视图控制器都是通用的,如果您想更改某些视图控制器的半透明性,请更改特定控制器的 viewDidLoad
.
将更改导航栏背景颜色的代码放在viewWillAppear
中,然后在viewWillDisappear
试试这个代码,
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
希望对您有所帮助