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

Posted

技术标签:

【中文标题】导航栏和状态栏颜色/不可见的 iOS【英文标题】:Navigation Bar and Status Bar colors/ invisible iOS 【发布时间】:2019-04-20 11:20:05 【问题描述】:

我正在尝试实现在控制器顶部获取图像颜色的导航栏和状态栏。我试过这两个代码:

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

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

【问题讨论】:

【参考方案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) `

【讨论】:

以上是关于导航栏和状态栏颜色/不可见的 iOS的主要内容,如果未能解决你的问题,请参考以下文章

iOS 状态栏和导航栏颜色相同

iOS 7 中 UIActivityViewControllers 的模态状态栏和导航栏文本颜色

iOS MapView 位于导航栏、状态栏和标签栏控制器下

iOS下状态栏和导航栏的控制问题

Xcode 13 - swift OS 15 中的导航栏和状态栏文本颜色变化

Flutter系统导航栏和状态栏颜色[重复]