【问题标题】:Navigation Bar and Status Bar colors/ invisible iOS导航栏和状态栏颜色/不可见的 iOS
【发布时间】:2019-04-20 11:20:05
【问题描述】:
我正在尝试实现在控制器顶部获取图像颜色的导航栏和状态栏。我试过这两个代码:
self.navigationBar.setBackgroundImage(UIImage(), for: .default)
self.navigationBar.shadowImage = UIImage()
但它只改变了主控制器,我只需要使第二个控制器不可见,而不是主控制器。这是我想要的图像。
【问题讨论】:
标签:
ios
swift
uinavigationbar
statusbar
【解决方案1】:
如果您想要图像的颜色,只需将图像放在顶部,然后是视觉效果视图。
【解决方案2】:
您可以通过调用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) }`