自定义UINavigationController:标题颜色

时间:2018-04-26 11:06:53

标签: swift uinavigationcontroller

我需要为我的项目制作一个自定义导航控制器类,但我正在努力使用导航栏标题颜色。条纹色调和色调颜色正在发生变化,但我无法改变标题的颜色。这是我的代码:

    class SANavigationController: UINavigationController {

    // MARK: - Lifecycle

    override func viewDidLoad() {
        super.viewDidLoad()

        navigationBar.isTranslucent = false
        setupAppearance()
        setupBehaviour()
    }

    // MARK: - Setup

    func setupAppearance() {
        navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.blue]
        navigationBar.tintColor = .red
        navigationBar.barTintColor = .blue
    }

    private func setupBehaviour() {
        if #available(iOS 11.0, *) {
            navigationBar.prefersLargeTitles = true
            navigationItem.largeTitleDisplayMode = .automatic
        }
    }
}

提前致谢

1 个答案:

答案 0 :(得分:1)

要更改大标题的文字颜色,您应该使用

navigationBar.largeTitleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.blue]

虽然文字颜色和barTintColor颜色相同但有点奇怪但它不会被看见。