导航栏和状态栏颜色/不可见的iOS

时间:2018-11-17 14:00:45

标签: ios swift uinavigationbar statusbar

我正在尝试实现导航栏和状态栏,这些导航栏和状态栏使控制器顶部的图像变彩色。我尝试使用以下两个代码:

self.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationBar.shadowImage = UIImage()

但是它只更改主控制器,我需要使第二个控制器不可见而不是主控制器。这是我想要的图像。

2 个答案:

答案 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) }`