首页 > 解决方案 > ScrollEgdeAppearance 对 UINavigationBar 不生效

问题描述

我在 UINavigationController 中嵌入了一个 TableViewcontroller。我希望导航标题在不滚动表视图时为红色(contentOffset = 0),在滚动表视图时为蓝色(contentOffset > 0)。我认为scrollEdgeAppearance 是实现这一目标的完美人选。但是它没有按预期工作。

这是代码,这有什么问题,或者它不是 scrollEdgeAppearance 的用例

任何帮助,将不胜感激。

class TableViewController: UITableViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let appearnce = UINavigationBarAppearance()
        appearnce.configureWithOpaqueBackground()
        appearnce.titleTextAttributes = [.foregroundColor: UIColor.red]
        navigationController?.navigationBar.standardAppearance = appearnce
        
        let appearnce2 = UINavigationBarAppearance()
        appearnce2.configureWithDefaultBackground()
        appearnce2.titleTextAttributes = [.foregroundColor: UIColor.blue]
        navigationController?.navigationBar.scrollEdgeAppearance = appearnce2
    }

   
}

在此处输入图像描述

标签: swiftxcodeuinavigationcontrolleruikituinavigationbar

解决方案


推荐阅读