如何删除iOS 13中出现的导航栏背景



我试图在带有#的if语句中删除iOS 13中的导航栏背景。我知道在其他人的声明中删除iOS 12和旧版本iOS的导航栏背景的原始代码。然而,苹果确实在任何地方宣布了一个名为外观的新系统,以支持新的iOS 13系统。

let app = UINavigationBarAppearance()
let navigationBar = self.navigationController?.navigationBar
app.configureWithOpaqueBackground()
app.shadowImage = UIImage()

self.navigationController?.navigationBar.scrollEdgeAppearance = app
navigationBar!.standardAppearance = app
navigationBar!.scrollEdgeAppearance = app

我相信这个配置WithOpaqueBackground((允许我们删除导航栏背景,但我在iOS 13.1模拟器上测试显示黑色导航栏背景。我知道是什么原因。

app.configureWithOpaqueBackground()
app.titleTextAttributes = [.foregroundColor: UIColor.white]
app.largeTitleTextAttributes = [.foregroundColor: UIColor.white]
app.backgroundColor = #colorLiteral(red: 0.1603881121, green: 0.1677560508, blue: 0.2133775949, alpha: 1)

该代码允许我们将自定义颜色放在黑色背景上。我准备在viewWillDisappear的语句中添加该代码,以将导航栏背景恢复为self.navigationController?.navigationBar.scrollEdgeAppearance = app之前的正常颜色背景,并删除app.configureWithOpaqueBackground()app.shadowImage = UIImage()。现在,我需要在viewWillAppear的语句中创建半透明的导航栏背景,但由于黑色背景仍然显示,它看不到任何半透明背景。

我真的很感谢你帮我解决这个问题!:(

如果您希望导航栏变得完全透明:

let app = UINavigationBarAppearance()
app.configureWithTransparentBackground()
self.navigationController?.navigationBar.standardAppearance = app
self.navigationController?.navigationBar.scrollEdgeAppearance = app
self.navigationController?.navigationBar.compactAppearance = app

不要弄乱导航栏的isTranslucent

相关内容

  • 没有找到相关文章

最新更新