我正在尝试实现导航栏和状态栏,这些导航栏和状态栏使控制器顶部的图像变彩色。我尝试使用以下两个代码:
self.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationBar.shadowImage = UIImage()
但是它只更改主控制器,我需要使第二个控制器不可见而不是主控制器。这是我想要的图像。
答案 0 :(得分:1)
如果您想要图像的颜色,只需将图像放在顶部,然后再放置视觉效果视图即可。
答案 1 :(得分:0)
您可以通过调用this extension使导航栏透明:
navigationController?.navigationBar.apply(.transparentWhite)
要在其中使用此行为的任何视图控制器的viewWillAppear
中。
如果您想要其他主题,请按照我在要点中定义的主题来定义它们:
static var transparentWhite: NavigationTheme { return NavigationTheme(attributes: [.font: UIFont(name: .avenirNextRegular, size:14.0)], barColor: .clear, tintColor: .white) }`