小编Jyo*_*rma的帖子

在iOS15中更改NavigationBar的当前颜色

我有一个带有自定义颜色主题的应用程序,主题可以在TableView 标题标签导航栏中实现颜色。

这样做时,它在 iOS14 上运行良好。但随着iOS15的变化,导航栏不能再改变颜色了。透明和scrollEdgeAppearance已在iOS15中处理,但应用程序运行时(调用application(didFinisLaunching)后)基于用户输入的导航栏当前颜色更改不起作用。

我使用以下代码在用户选择颜色时触发:

 func setNavBarColour() {
        if #available(iOS 15, *) {
            let appearance = UINavigationBarAppearance()
            appearance.configureWithOpaqueBackground()
            appearance.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
            appearance.backgroundColor = LangBuilds.flavColor
            let proxy = UINavigationBar.appearance()
            proxy.tintColor = LangBuilds.flavColor
            proxy.standardAppearance = appearance
            proxy.scrollEdgeAppearance = appearance
        }
        else {
            self.navigationController?.navigationBar.barTintColor = LangBuilds.flavColor
        }
        self.searchController.searchBar.searchTextField.textColor = .black
        self.searchController.searchBar.searchTextField.backgroundColor = .white
        self.searchController.searchBar.searchTextField.autocapitalizationType = .none
        changeTextHolder()
    }
Run Code Online (Sandbox Code Playgroud)

提前感谢您的帮助。

uikit ios swift ios15

2
推荐指数
1
解决办法
2072
查看次数

标签 统计

ios ×1

ios15 ×1

swift ×1

uikit ×1