gpt4 book ai didi

ios - 如何删除 iOS 13 中带有外观的导航栏背景?

转载 作者:行者123 更新时间:2023-11-28 13:24:50 25 4
gpt4 key购买 nike

我试图在带有#available 的 if 语句中删除 iOS 13 中的导航栏背景。我知道在其他语句中删除 iOS 12 和旧版 iOS 导航栏背景的原始代码。但是,Apple 确实在任何地方都发布了一个名为 Appearance 的新系统,以支持新的 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

我相信这个 configureWithOpaqueBackground() 允许我们删除导航栏背景,但我在 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

关于ios - 如何删除 iOS 13 中带有外观的导航栏背景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58572539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com