UINavigationBar tintColor行为不正常

问题描述 投票:0回答:3

设置UINavigationBar tintColor时出现问题。

行为异常

我正在使用xcode 11.3.1,swift 5,iOS 13.3

* MyClass

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    self.title = "test"
}

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    self.navigationController?.navigationBar.tintColor = #colorLiteral(red: 0.9708816409, green: 0.4246639013, blue: 0.3480253518, alpha: 1)
}

*结果

  1. 真实设备https://imgur.com/sONr4vq

  2. 模拟器https://imgur.com/vs5lhgR

我想设置后退按钮的颜色,例如标题

我只在真实设备上得到错误

请帮助我

谢谢

ios swift navigationbar swift5 tintcolor
3个回答
0
投票

设置后退按钮并隐藏“后退”:

let backItem = UIBarButtonItem()
        backItem.tintColor = #colorLiteral(red: 0.9708816409, green: 0.4246639013, blue: 0.3480253518, alpha: 1)
        navigationItem.backBarButtonItem = backItem

您应该将此代码插入ViewController,然后再推送新的。


0
投票

尝试访问navigationController.navigationBar而不是navigationController.view

    self.navigationController?.navigationBar.tintColor = #colorLiteral(red: 0.9708816409, green: 0.4246639013, blue: 0.3480253518, alpha: 1)

0
投票

您是否尝试使用UIColor而不是#colorLiteral


self.navigationController?.navigationBar.tintColor = UIColor(red: 0.9708816409, green: 0.4246639013, blue: 0.3480253518, alpha: 1)

//or

self.navigationController?.navigationBar.tintColor = UIColor(displayP3Red: 0.9708816409, green: 0.4246639013, blue: 0.3480253518, alpha: 1)


编辑:由于上述方法对您不起作用,您尝试过此吗?

self.navigationController?.navigationBar.tintColor = self.navigationController?.navigationItem.titleView?.backgroundColor

考虑到您想要的只是使按钮和标题具有相同的颜色了吗?

© www.soinside.com 2019 - 2024. All rights reserved.