【问题标题】:Bar Button doesn't return to default color [duplicate]条形按钮不返回默认颜色[重复]
【发布时间】:2018-03-04 15:05:38
【问题描述】:

这是我的一个简单的测试项目:

RootViewController 嵌入在 NavigationController 中。将标题为“SegueButton”的条形按钮添加到导航栏中,并将其设置为触发 segue 到ViewController。 (请参阅下面的应用设置)

当我运行应用程序时,点击“SegueButton”可以显示ViewController。但是当我通过点击左上角的返回按钮回到RootViewController 时,“SegueButton”就像被按下一样显示出来。

(见下面的运行截图)

如何让“SegueButton”每次返回时都恢复为默认颜色?

谢谢大家。

【问题讨论】:

标签: ios swift uinavigationbar uibarbuttonitem


【解决方案1】:

这可能是 UIKit 的一个错误。尝试在出现问题的UIViewController 中实现此功能:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    guard let bar = navigationController?.navigationBar else { return }
    bar.tintAdjustmentMode = .normal
    bar.tintAdjustmentMode = .automatic
}

【讨论】:

  • 感谢您的回答。您的解决方案部分有效。当我快速点击 barButton 和后退按钮时,问题仍然存在。而在viewWillAppear 中使用barButtonItem.isEnabled = falsebarButtonItem.isEnabled = true 效果很好。
猜你喜欢
  • 2021-01-31
  • 2021-06-22
  • 2020-11-14
  • 2013-06-26
  • 2013-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多