iOS,Swift 4,通过单击后退按钮返回时,导航 Controller 标题颜色不会更改

标签 ios swift uinavigationcontroller swift4

我的问题与这个问题ViewController title color will change change color when back button clicked 中解释的完全一样

我有 Navigation Controller -> View Controller (#1) -> Segue 到另一个 View Controller (#2)

View Controller #2 的标题颜色不同。

当我点击 View Controller #2 中的 Back 按钮返回到 Home View (#1) 时,它的标题颜色没有更改为它应该的颜色,但它仍然是 View Controller #2 的标题颜色。

我已经在属性检查器中设置了正确的标题颜色。我还在 Home View Controller 的 viewWillAppear 中专门设置标题颜色,但它的颜色仍然没有改变。

我想知道我还需要做什么?有没有

我已经在 Home View Controller 的 viewWillAppear 中添加了将标题颜色设置为白色的代码

override func viewWillAppear(_ animated: Bool){
    super.viewWillAppear(animated)
    print("HomeViewController: viewWillAppear()")

    // Mark: - Set navigation bar title color
    setTitleColorWhite(vc: self)

    activityIndicator.startAnimating()
    fetchDetails()
}

这是 setTitleColorWhite

// Mark: - Set navigation bar title color
func setTitleColorWhite(vc: UIViewController){
    let attrs = [
        NSAttributedStringKey.foregroundColor: UIColor(red:1.00, green:1.00, blue:1.00, alpha:1.0),
        NSAttributedStringKey.font: UIFont(name: "SFProText-Medium", size: 17.0)!
    ]
    vc.navigationController?.navigationBar.titleTextAttributes = attrs
}

最佳答案

更新 HomeViewControllerviewDidAppear 中的 color 而不是 viewWillAppear

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)

    setTitleColorWhite(vc: self)
}

关于iOS,Swift 4,通过单击后退按钮返回时,导航 Controller 标题颜色不会更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51623362/

相关文章:

ios - 与 UIDocumentInteractionController 共享文档

ios - 自定义 barbuttonItem 不显示

iOS顶部导航栏设置标题颜色

ios - 使用基于页面的导航将数组数据从一个界面传递到 watchkit 中的另一个界面?

ios - 将手势识别器添加到 UIWindow 上添加的 View 中

iOS :Unable to get Facebook profile public data as media (Images & video)

objective-c - 如何从上到下为 View 设置动画并正确堆叠该 View ?

ios - SwiftUI 根据设备设置 navigationViewStyle

ios - 文本字段/发送按钮在 JSQMessagesViewController 上的键盘弹出时消失

当应用程序在后台时,iOS 12.4 AVAudioRecorder.record 返回 false